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

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

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


 

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

26103. Проблема типологии культуры: основные принципы построения 17.54 KB
  Этническая культура совокупность черт культуры касающихся преимущественно обыденной жизни бытовой культуры. Этническая культура включает орудия труда нравы обычаи нормы обычного права ценности постройки одежду пищу средства передвижений жилище знания верования виды народного искусства. Национальная культура имеет соционормативную структуру которая обеспечивает координацию поведения и деятельности людей объединенных в рамках данной общности; предохраняет от распада и способствует адаптации членов общества к внешним и...
26104. Культура как способ самореализации человека 14.83 KB
  Человек выступает одновременно и как субъект культуры ее творец и как объект ее воздействия. Воспитание определенного типа личности главная цель в функционировании духовной культуры. В основе функционирования всей духовной культуры лежит деятельность по производству и воспроизводству духовных ценностей а также деятельность по овладению этими ценностями.
26105. Понятие затрат, издержек и расходов. Классификация затрат для принятия управленческих решений 48 KB
  Например: швейной фабрикой был закуплен материал на 100 тыс руб. Однако находится предприятие которое согласно купить изделия из этого материала за 300 тыс руб. при этом дополнительные затраты на изготовление этой продукции составят 260 тыс руб. целесообразно ли принимать заказ Затраты в сумме 100 тыс руб произведены и не будут изменяться в зависимости от выбранного варианта решения.
26106. Классификация затрат для исчисления себестоимости 29.5 KB
  1Прямые это те затраты которые экономически обосновано напрямую включаются в себестоимость отдельного вида продукции работ услуг. Материалы могут основными и вспомогательными прямые трудовые зарплата основных производственных рабочих 2Косвенные общепроизводственные расходы их нельзя напрямую отнести на готовою продукцию они распределяются между отдельными изделиями согласно выбранной на предприятии методики пропорционально базе распределения косвенных расходов Себестоимость продукции это выраженные в денежной форме...
26107. Понятие и объекты калькулирования 32.5 KB
  Задача калькулирования определить размер затрат приходящихся на единицу продукции. фактическая отчетная калькуляция отражает совокупность всех затрат на производство и реализацию продукции. Для рациональной организации учета издержек необходимо правильно выбрать метод учета затрат и калькулирования себестоимости продукции работ услуг. Под методом учета затрат и калькулирования себестоимость понимают совокупность документирования и отражения производственных затрат обеспечивающих определение фактической себестоимости продукции а т.
26108. Попроцессный метод учета затрат на производств и калькулирование себестоимости продукции 31 KB
  Попроцессный метод учета затрат на производств и калькулирование себестоимости продукции Структура ответа: Сфера и условия применения. Особенности таких видов производства массовый тип производства непродолжительный цикл ограниченность номенклатуры выпускаемой продукции единые единицы измерения полное отсутствие либо не значительные размеры незавершенного производства.простой используется при отсутствии запасов готовой продукции на конец отчетного периода. Себестоимость = затраты за отчетный период объем произведенной продукции в...
26109. Попередельный метод учета затрат на производств и калькулирование себестоимости продукции 39.5 KB
  Объектом калькулирования продукт каждого передела. Сущность метода заключается в том что прямые затраты в текущем учете отражаются не по видам продукции а по переделам. Особенностями организации учета при этом методе является: открытие аналитических счетов к синтетическому счету 20 для каждого передела 20. Учет затрат на производство ведется без бухгалтерских записей при передаче полуфабриката из одного передела в другой.
26110. Позаказный метод учета затрат на производств и калькулирование себестоимости продукции 28 KB
  проблема распределения косвенных расходов между отдельными производственными заказами выполняемыми в отчетном периоде решается с помощью бюджетной ставки распределения косвенных расходов. Бюджетная ставка предварительный норматив который рассчитывается бухгалтерской службой накануне отчетного периода по следующему алгоритму: определяется сумма ожидаемых косвенных расходов предстоящего периода выбирается база для распределения косвенных расходов и прогнозируется ее величина. Расчет бюджетной ставки путем деления суммы прогнозируемых...
26111. Калькулирование сокращенной себестоимости по системе «директ-кост» 31.5 KB
  Общехозяйственные расходы так же исключаются из калькулирования они являются периодическими и полностью включаются в себестоимость реализованной продукции. В конце отчетного периода указанные общехозяйственные расходы списываются Д90 2 К26. Операционная прибыль = маржинальный доход постоянные расходы. в маржинальный доход включаются постоянные расходы и операционная прибыль.