511

Масштабирование и растеризация. Составление программы по алгоритму Брезенхема на языке Phyton

Курсовая

Информатика, кибернетика и программирование

Составление программы по алгоритму Брезенхема на языке Phyton. Рассмотрение координаты в ГМ и окне отображения на экране относительно левой нижней точки соответствующего окна. Рисование линий по алгоритму Брезенхема.

Русский

2013-01-06

226 KB

12 чел.

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ

(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)

Факультет Радиоэлектроники ЛА

Кафедра 404

Курсовая   работа

по  дисциплине  компьютерная графика

Вариант  № 6

Студент: Михайлов Н.

Группа: 04 - 204

Руководитель работы: Репнев Д.Н.

Оценка:

Дата:

Подпись преподавателя:

Москва   2012

Содержание:

Задание…………………………………………………………………………2

Этап №1. Масштабирование окон……………………………………………3

Этап №2. Отсечение…………………………………………………………..4

Этап №3. Масштабирование примитива…………………………………….5

Этап №4. Растеризация……………………………………………………….6

Задание.

Для отрезка, являющегося составной частью графической модели объекта (изделия),

координаты которого заданы  в мировых координатах, и заданных параметров дисплея и окна отображения выполнить операции:

−  масштабирования;

−  отсечения;

−  растеризации.

Координаты

отрезка, мм

(Х1,У1  Х2,У2)

Координаты окна

отображения в модели,

мм

(Х1м;У1м :Х2м;У2м)

Параметры

графического

режима

монитора,

(Хр;Ур)  точек

Координаты окна

отображения

модели, пикселей

(Х1о;У1о  Х2о;У2о)

2,2    0,15

0,0    10,10

32,24

5;5   15;15

Этап №1. Масштабирование окон.

Задание:

Режим графического адаптера 48*36. Отобразить окно ГМ  с координатами (Х1;У1)м:(Х2;У2)м =0,0    10,10  в окне монитора (Х1;У1)о:(Х2,У2)о =5;5   15;15

Решение:

Определим масштабные коэффициенты  по Х и У:

   К’х=∆Хо/∆Хм=(15-5)/(10-0)=10/10=1

   К’у=∆Уо/∆Ум=(15-5)/(10-0)=10/10=1

Для сохранения пропорций (равенства расстояний по Х и У) на экране коэффициенты масштабирования по Х и У должны быть одинаковы, а также требуется выбирать  минимальный  из рассчитанных коэффициентов. Т.к. коэффициенты получились одинаковыми, выбираем любой…

 Sx=Sy=Кх=Ку=1

Т.к. коэффициенты равны то расширять область отображения ГМ не нужно. 

   Х1оогм=Х1м=0    У1оогм=У1м=0

      Х2оогм=X2м=10   У2оогм=У1м= 10

Этап №2. Отсечение.

Задание:

Определить координаты отрезка (2 точки), расположенного в отображаемой области ГМ. Координаты отрезка X1;Y1=2;2    X2;Y2=0;15

Решение:

Из рисунка видно что отрезок пересекает верхнюю  границу  ООГМ в точке A c координатой по оси  ОY=10. Найдём координату точки А по оси OX:

У=А+Кп*Х; где

 Кп=∆У/∆Х=(У2-У1)/(Х2-Х1)=(13)/(-2)=-6,5

 А=У1-Кп*Х1=2-2*(-6.5)=15

 X=(Y-A)/Кп=(10-15)/(-6.5)=0.7692

 Новый отрезок , после отсечения, будет иметь координаты (X1;Y1)=2;2   (X2;Y2)=0.7692; 10

Этап №3. Масштабирование примитива.

Задание:

 Определить экранные координаты отрезка

Решение:

После отсечения  имеем отрезок с координатами  (X1;Y1)=2;2

(X2;Y2)= 0.769;10 в мировых координатах, который является отображаемой частью заданного отрезка..

Удобно рассматривать координаты в ГМ и окне отображения на экране относительно левой нижней точки соответствующего окна, что равносильно переноса начала координат в эту (левую нижнюю) точку окна. Обычно эту точку называют координатой окна или базовой точкой (координатой) окна.

Определим координаты отрезка  относительно координат окна

 Х1”=X1-X1ooгм=2-0=2

 У1”=У1-У1ooгм=2-0=2

 Х2”=X2-X1ooгм=0.769-0=0.769

 У2”=У2-У1ooгм=10-0=10

Определим экранные координаты отрезка

 Х1э=Х1”*Кх+Х1о=7

 У1э=У1”*Кх+У1о=7

 Х2э=Х2”*Кх+Х1о=7.769=8

 У2э=У2”*Кх+У1о=15

Этап №4. Рисование линий по алгоритму  Брезенхема.

Задание:

Осуществить растеризацию отрезка с координатами   с помощью целочисленного алгоритма рисования линий Брезенхема

Решение:

Для растеризации линии воспользуемся целочисленным алгоритмом Брезенхема рисования линии. Блок схема алгоритма для отрезка лежащего в 3 октанте:

Составим программу по алгоритму Брезенхема на языке Phyton:

def Proga(x1,y1,x2,y2):

 Dy=y2-y1

if Dy<0:

 Dy=Dy*(-1)

else:

 Dy=Dy

Dx=x2-x1

if Dx<0:

 Dx=Dx*(-1)

else:

 Dx=Dx

d=2*Dx-Dy

n=0

x=x1

y=y1

 print 'N', 'Yi', 'Xi', 'd', 'DX', 'DY'

print n, y, x, d, Dx, Dy

 print 'N', 'Yi', 'Xi', 'd', 'DL'

while y<y2:

 if d<0:

  DL=2*Dx

 else:

  DL=2*(Dx-Dy)

  x-=1

 d+=DL

 y+=1

 n+=1

 print n, y, x, d, DL

 print "KONEC"

Программа выведет ответ :

Proga(7, 7, 8, 15)

N Yi Xi d DX DY

0 7 7 -6 1 8

N Yi Xi d DL

1 8 7 -4 2

2 9 7 -2 2

3 10 7 0 2

4 11 6 -14 -14

5 12 6 -12 2

6 13 6 -10 2

7 14 6 -8 2

8 15 6 -6 2

KONEC

Занесём полученные данные в таблицу:

Yi

Xi

d

0

7

7

-6

1

8

7

-4

2

9

7

-2

3

10

7

0

4

11

6

-14

5

12

6

-12

6

13

6

-10

7

14

6

-8

8

15

6

-6

  Нарисуем растр экрана:

Большая синяя рамка это «экран монитора», а маленькая это окно на экране


 

А также другие работы, которые могут Вас заинтересовать

27529. Понятие, стадии, способы и типы правового регулирования 31.5 KB
  Понятие стадии способы и типы правового регулирования Правовое регулирование целенаправленное результативное юридическое воздействие права на общественные отношения осуществляющееся при помощи совокупности юридических средств норм права правоотношений и актов реализации составляющих его механизм механизм правового регулирования. Метод правового регулирования представляет собой специфический способ совокупность способов правового воздействия на регулируемые общественные отношения. Он складывается из комбинации следующих способов...
27530. Правовая культура, понятие и структура 26 KB
  Правовая культура понятие и структура. Существует несколько подходов к понятию культуры: 1 антропологические согласно которым культура это совокупность всех благ созданных человеком в отличие от того что создала природа; 2 социологические согласно которым культура это совокупность всех духовных ценностей; 3 философские согласно которым культура это исторически определенный уровень развития общества творческих сил и способностей человека. Таким образом правовая культура это совокупность всех ценностей созданных человеком в...
27531. Правовое отношение: понятие и признаки, состав 25 KB
  Правоотношения это охраняемые государством общественные отношения возникающие как правило вследствие воздействия норм права на поведение людей и характеризующиеся наличием субъективных прав и юридических обязанностей у их участников. Признаки: 1 разновидность отношений общественных; 2 возникают на основе норм права; 3 характеризуются наличием у их участников субъективных прав и юридических обязанностей; 4 волевые отношения это означает что помимо нормы права которая сама по себе уже выражает определенную волю для возникновения...
27532. Преемственность в праве: понятие, виды и значение 28.5 KB
  Преемственность в праве заимствование правом того или иного государства положения прошлых либо современных правовых систем заимствование наилучших моделей элементов конструкций описания механизма правового регулирования с целью совершенствования правовых систем и правовой культуры Правопреемственность это необходимый элемент закона отрицания отрицания. Главным фактором обусловливающим преемственность является необходимость нормативного регулирования ряда общественных отношений вытекающая из потребностей самого общества и...
27533. Презумпции и фикции в праве 27.5 KB
  Все приёмы законодательной техники делятся на 2 группы: 1 юридические средства это допустимые правом предметы и явления с помощью которых обеспечивается достижение поставленных целей и получения результатов юридические термины и понятия; юридические конструкции; юридические символы; перечисления; юридические презумпции; юридические фикции; 2 юридические способы пути достижения намеченных целей с помощью конкретных юридических средств и при наличие условий и предпосылок законодательной практики способы структуризации; способы...
27534. Приведите примеры юридических фактов-действий 30 KB
  Юридический факт конкретные социальные обстоятельства события действия вызывающие в соответствии с нормами права наступление определенных правовых последствий возникновение изменение или прекращение правовых отношений. Классификация: 1 по характеру наступающих последствий: а правообразующие поступление в вуз; б прамоприменяющие перевод с очной формы на заочную; в правопрекращающие окончание вуза; 2 по связи с волей участников правоотношений: а события обстоятельства независящие от воли субъекта стихийное бедствие...
27535. Принципы права: понятие, классификация и значение 28 KB
  Принципы права исходные нормативноруководящие начала императивные требования определяющие общую направленность правового регулирования общественных отношений. Принципы права обусловлены рядом факторов: уровень экономического развития; особенности политической системы; социальноклассовые природы государства. Принципы российского права: 1 принцип справедливости; 2 принцип равноправия равенство перед законом и судом; 3 единство прав и обязанностей; 4 гуманизм основан на уважении человека его достоинства и прав; 5...
27536. Проиллюстрируйте соотношение норм права и статьи закона на примере ст.8.13 КоАП РФ 30 KB
  Соотношение между статьей и нормой во многом зависит оттого что перед нами логическая норма или норма предписание. Если это норма предписание то она полностью содержится в статье. В одной статье может содержаться две или более нормы предписания. Логическая норма может находиться в составе трех ее элементов и одной целой статье но тогда диспозицию или санкцию нужно выводить в статье логическим путем.
27537. Публичная (политическая власть) признак государства 23.5 KB
  Имеется в виду то что: 1 государство является властью которая не сливается с обществом а выделяется из него будучи относительно самостоятельной по отношению к обществу в определенном смысле над ним; 2 государственная власть внешне и официально представляет все общество выступает в качестве особого органа управления обществом; 3 эта власть призвана обеспечить поддержание правопорядка нормальной жизнедеятельности людей; 4 публичная власть как разновидность политической власти означает наличие у нее особого аппарата включающего...