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

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

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


 

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

31673. Виникнення та розвиток психіки 23 KB
  На певному етапі розвитку природи завдяки взаємодії механічних термічних хімічних акустичних та світлових властивостей матерії з неорганічної матерії виникла органічна матерія білкова речовина. Якщо в неорганічній матерії згаданий процес має пасивний характер то у живій активний відмінною рисою якого є здатність предмета що відображує реагувати на відображуване. Першими проявами такого біологічного відображення є процеси обміну речовин асиміляція та дисиміляція що відбуваються у живій матерії та є необхідною умовою життя....
31674. Свідомість 30.5 KB
  Складна діяльність вищих тварин що підпорядкована природним предметним зв’язкам і відношенням у людини перетворюється на діяльність підпорядковану суспільним зв’язкам і відносинам. Вона є тією безпосередньою причиною завдяки якій виникає специфічна людська форма відображення дійсності – свідомість людини. У людини завдяки її участі в спільній діяльності з іншими людьми в умовах розподілу функцій між ними те на що спрямована дія саме по собі може і не мати прямого біологічного смислу. У людини ж користування штучним знаряддям...
31675. Поняття про особистість та її структуру 26.5 KB
  Належність особистості до певного суспільства до певної системи суспільних відносин визначає її психологічну Та соціальну сутність. Характерними ознаками особистості є наявність у неї свідомості виконувані нею суспільні ролі суспільно корисна спрямованість її діяльності. Однією з найяскравіших характеристик особистості є її індивідуальність під якою розуміють своєрідне неповторне поєднання таких психологічних особливостей людини як характер темперамент особливості перебігу психічних процесів сприймання пам’яті мислення мовлення...
31676. Поняття про діяльність 23 KB
  Проте активність тварин і діяльність людини суттєво відрізняються за психологічними ознаками. Людська діяльність за сутністю є соціальною. Діяльність людини характеризується свідомістю і цілеспрямованістю.
31677. Поняття про мову та її функції 30 KB
  Біологічними передумовами виникнення мови були звуки та рухи які спостерігались у пращурів людини і слугували засобом спілкування задоволення потреби в обміні думками у пізнанні властивостей предметів та явищ що оточували людину і позначалися словами. Слово як одиниця мови має два боки зовнішній звуковий фонетичний та внутрішній смисловий семантичний. Унаслідок цього виникла багатозначність слів що також є продуктом історичного розвитку кожної мови. Основні елементи мови її словниковий склад і граматична будова.
31678. Різновиди мовлення 35.5 KB
  Усне мовлення. Це основний різновид мовлення який є звуковим і який інші сприймають за допомогою слуху. Усне мовлення поділяється на діалогічне та монологічне.
31679. Поняття про спілкування 25.5 KB
  Спілкування явище глибоко соціальне. Соціальна природа спілкування виражається в тому що воно завжди відбувається в середовищі людей де суб’єкти спілкування завжди постають як носії соціального досвіду. Соціальний досвід спілкування виявляється у змісті інформації що є його предметом знання відомості способи діяльності у засобах мовна та немовна комунікація при спілкуванні у суспільно вироблених у процесі історичного розвитку різновидах спілкування.
31680. Різновиди і форми уваги 35.5 KB
  Усі різновиди уваги тісно взаємопов’язані і за певних умов переходять один в одного. Мимовільна увага властива і людині і тваринам хоча її виникнення у людини якісно відрізняється від такої уваги у тварин. Фізіологічним підґрунтям мимовільної уваги є безумовнорефлекторна орієнтувальна діяльність.
31681. Поняття про відчуття 36.5 KB
  Отже у нас різні смаки оцінки відчуття. Відчуття це суб єктивне відображення окремих властивостей предметів і явищ навколишнього світу в корі головного мозку внаслідок їх безпоснрнднього впливу на наші органи чуття.хто не довіряє відчуттям той дурень і неминуче перетвориться на споглядача відчуття не одурюють одурюють судження .