Инженерная и компьютерная графика

Автор работы: Пользователь скрыл имя, 12 Января 2014 в 23:29, контрольная работа

Краткое описание

Задание №1 Напишите продолжение фразы.
Задание №2 Выберите все правильные ответы на предложенные тестовые задания.
а) Сколько контактов в D-sub видеокарты VGA использовалось для передачи цвета пикселя. б) К какому цвету наиболее чувствительно человеческое зрение. в) Какой из способов формирования изображения используется в дисплее произвольного сканирования с регенерацией изображения. г) Если в пространстве Luv u=v=0 , то получается.

Вложенные файлы: 1 файл

Компьютерная графика.doc

— 908.00 Кб (Скачать файл)

 

 

 

 

Студент    ____________    

Руководитель   ____________ 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Санкт-Петербург 2014

 

 

 

Задание №1 Напишите продолжение фразы.

Гномоническая проекция - один из видов  картографических проекций. Получается проектированием точек сферы  из центра сферы на плоскость. Название этой проекции связано с гномоном — вертикальным столбиком простейших солнечных часов.

Важное отличительное свойство гномонической проекции состоит  в том, что в ней все большие  круги сферы изображаются прямыми  линиями плоскости. Поэтому гномоническая проекция применяется там, где приходится работать с изображениями больших кругов, а заметные искажения формы и размеров областей не столь существенны. В астрономии она используется при наблюдении за метеорами, в навигации — для построения пеленгов радиоисточников, в сейсмологии — для изображения направления распространения сейсмических волн.

В зависимости от положения центральной  точки карты гномоническая проекция может быть:

1)нормальной (полярной) — если центральная  точка совмещена с географическим полюсом,

2)экваториальной (поперечной) — если  центральная точка расположена  на экваторе,

3)косой — если центральная  точка расположена в некоторой  промежуточной широте.

 

Задание №2 Выберите все правильные ответы на предложенные тестовые задания

А) С помощью какой матрицы  можно перевести отрезок , лежащий  в 4 октанте к каноническому виду?

Ответ:

    1  0

  0 -1

 

Б) Суть модели Фонга заключается  в том, что:

Зеркальный свет при попадании  на поверхность подчиняется следующему закону: “Падающий и отраженный лучи лежат в одной плоскости с нормалью к отражающей поверхности в точке падения, и эта нормаль делит угол между лучами на две равные части”. Т.о. отраженная составляющая освещенности в точке зависит от того, насколько близки направления на наблюдателя и отраженного луча. Это можно выразить следующей формулой:

Ответ : интенсивность  зеркального отражения для наблюдателя  зависит от угла между идеально отраженным лучем и направлением к наблюдателю

В) Поворот относительно произвольной оси раскладывается на три последовательных действия ,выполняемых в следующем порядке:

Ответ: Совместим прямую с осью OZ посредством поворота системы координат относительно оси OX на угол β, а затем поврота относительно оси OY на угол γ

Выполним поврот относительно оси OZ на угол α

Выполним повроты системы сначала  относительно оси OY на угол γ, затем относительно оси OX на угол β (в обратном порядке по отношению к первым поворотам), возвращая ее в исходное положение

Г) Основная идея алгоритма Сазерленда-Ходжмена клиппирования многоугольника заключается  :

Простой метод решения проблемы охвата отсекаемым многоугольником  вершины окна предлагается в алгоритме  Сазерленда-Хогдмана когда весь многоугольник  последовательно отсекается каждой границей окна

Ответ: В последовательном отсечении частей многоугольника прямими линиями, приходящими через стороны окна

Д) В алгоритме Варнока многоугольник,входящий в изображаемую сцену, называется внутренним, если :

Алгоритм работает в пространстве изображения и анализирует область на экране дисплея (окно) на наличие в них видимых элементов. Если в окне нет изображения, то оно просто закрашивается фоном. Если же в окне имеется элемент, то проверяется достаточно ли он прост для визуализации. Если объект сложный, то окно разбивается на более мелкие, для каждого из которых выполняется тест на отсутствие и/или простоту изображения. Рекурсивный процесс разбиения может продолжаться до тех пор пока не будет достигнут предел разрешения экрана.

 

Можно выделить 4 случая взаимного расположения окна и многоугольника

· многоугольник целиком вне  окна,

· многоугольник целиком внутри окна,

· многоугольник пересекает окно,

· многоугольник охватывает окно.

Соотношения между окном экрана (сплошная рамка) и многоугольником (штриховая рамка)

Ответ: Он целиком расположен внутри окна

 

 

Е) К центральным проекциям относятся:

Центральные проекции

Когда пучок проекторов исходит  из заданного центра проекции, то параллельные отрезки на плоскости проекции уже  не будут параллельными, за исключением  случая, когда они лежат в плоскости, параллельной проекционной. При проецировании нескольких параллельных прямых их проекции пересекаются в так называемой точке схода. Если совокупность прямых параллельна одной из координатных осей, то их точка схода называется главной. Таких точек может быть не больше трех. Например, если проекционная плоскость перпендикулярна оси , то лишь на этой оси будет лежать главная точка схода, поскольку прямые, параллельные как оси , так и , параллельны также и проекционной плоскости и поэтому не имеют точки схода.

Центральные проекции классифицируются в зависимости от числа главных точек схода, которыми они обладают, а следовательно, и от числа координатных осей, которые пересекает проекционная плоскость.

Двухточечная центральная проекция широко применяется в архитектурном, инженерном и промышленном проектировании и в рекламных изображениях, в которых вертикальные прямые проецируются как параллельные и, следовательно, не сходятся. Трехточечные центральные проекции почти совсем не используются, во-первых, потому, что их трудно конструировать, а во- вторых, из-за того, что они добавляют мало нового с точки зрения реалистичности по сравнению с двухточечной проекцией.

Ответ : перспективная  с двумя точками схода

Задание №3 Составьте блок-схему  алгоритма решения предложенной задачи и его программную реализацию в алгоритмическом языке

Цифровой дифференциальный анализатор

Один из методов разложения отрезка  в растр состоит в решении  дифференциального уравнения, описывающего этот процесс. Для прямой линии имеем

 

dy / dx = const или Dy / Dx = (y2 - y1) / (x2 - x1)

 

Решение предсталяется в виде

 

yi+1 = yi + Dy

 

yi+1 = yi + Dx (y2 - y1) / (x2 - x1) [1]

 

где x1, y1 и x2, y2 - концы разлагаемого отрезка и yi - начальное значение для очередного шага вдоль отрезка. Фактически уравнение [1] представляет собой рекурентное соотношение для последовательных значений y вдоль нужного отрезка. Этот метод, используемый для разложения в растр отрезков, называется цифровым дифференциальным анализатором (ЦДА). Впростом ЦДА либо Dx, либо Dy (большее из приращений) выбирается в качестве единицы растра. Ниже приводится простой алгоритм, работающий во всех квадрантах:

Процедура разложения в  растр отрезка по методу цифрового  дифференциального анализатора (ЦДА)

 

предполагается, что концы отрезка (x1, y1) и (x2, y2) не совпадают 

 

Integer - функция преобразования вещественного числа в целое.

 

Sign - функция, возвращающая -1, 0, 1 для  отрицательного, нулевого и положительного  аргумента соответственно

 

аппроксимируем длину отрезка

 

if abs(x2 - x1) >= abs(y2 - y1) then

 

Длина = abs(x2 - x1)

 

else

 

Длина = abs(y2 - y1)

 

end if

 

полагаем большее из приращений Dx или Dy равными единице растра

 

Dx = (x2 - x1) / Длина

 

Dy = (y2 - y1) / Длина

 

округляем величины, а не отбрасываем  дробную часть

 

использование знаковой функции делает алгоритм пригодным для всех квадрантов

 

x = x1 + 0.5 * Sign(Dx)

 

y = y1 + 0.5 * Sign(Dy)

 

начало основного цикла

 

i =1

 

while (i <= Длина)

 

Plot (Integer(x), Integer(y))

 

x = x + Dx

 

y = y + Dy

 

i = i + 1

 

end while

 

finish

 

Приведем пример иллюстрирующий работу алгоритма :

Пример 2.1. Простой ЦДА  в первом квадранте

 

Рассмотрим отрезок из точки (0,0) в точку (5,5). Используем ЦДА для  разложения этого отрезка в растр. Результаты работы алгоритма таковы:

 

начальные установки

 

x1 = 0

 

y1 = 0

 

x2 = 5

 

y2 = 5

 

Длина = 5

 

Dx = 1

 

Dy = 1

 

x = 0,5

 

y = 0,5

 

результаты работы пошагового цикла

 

 

 

i

Plot

x

y

 

 

0,5

0,5

1

(0,0)

   
   

1,5

1,5

2

(1,1)

   
   

2,5

2,5

3

(2,2)

 

 

 

 

3,5

3,5

4

 

(3,3)

 

 

 

 

 

 

 

4,5

4,5

5

(4,4)

   

 

 

5,5

5,5


Полученное растровое представление отрезка изображено на рис. 2.1. Заметим, что концевые точки определены точно выбранные пикселы равномерно распределены вдоль отрезка. Однако если начальным значением переменной i сделать нуль вместо единицы, то окажется активированным пиксел с координатами (5,5), что нежелательнно. Если адрес пиксела задан целыми координатами левого нижнего угла, то активация этого пиксела даст явно неверную конечную точку отрезка (рис. 2.1). Вдобавок при вычерчивании серии последовательных отрезков пиксел (5,5) будет активирован дважды: в конце данного отрезка и в начале следующего. Такой пиксел может выглядеть как более яркий или иметь другой цвет. Приведем пример иллюстрирующий работу алгоритма в третьем квадранте.

 

 

Рис.2.1. Результаты работы простого ЦДА  в первом квадранте.

Пример 2.2. Простой ЦДА  в третьем квадранте

 

Рассмотрим отрезок из точки (0,0) в точку (-8,-4) в третьем квадранте. Используем ЦДА для разложения этого  отрезка в растр. Результаты работы алгоритма таковы:

 

начальные установки

 

x1 = 0

 

y1 = 0

 

x2 = -8

 

y2 = -4

 

Длина = 8

 

Dx = -1

 

Dy = -0,5

 

x = -0,5

 

y = -0,5

 

результаты работы пошагового цикла

i

Plot

x

y

1

(-1,-1)

 

 

 

 

-1,5

-1,0

2

(-2,-1)

 

 

   

-2,5

-1,5

3

(-3,-2)

   
   

-3,5

-2,0

4

(-4,-2)

   
 

 

-4,5

-2,5

5

(-5,-3)

   
   

-5,5

-3,0

6

(-6,-3)

   
   

-6,5

-3,5

7

(-7,-4)

   
   

-7,5

-4,0

8

(-8,-4)

   
   

-8,5

-4,5


 

 

 

Несмотря на то что результаты, представленные на рис. 2.2, выглядят вполне приемлемыми, анализ отрезков, проведенных  из точки (0,0) в точку (-8,4) и (8,-4), показывает, что разложенный в растр отрезок лежит по одну сторону от реального и что на одном из концов отрезка появляется лишняя точка, т.е. результат работы алгоритма зависит от ориентации. Следовательно точность в концевых точках уменьшается.

Рис.2.2. Результаты работы простого ЦДА в третьем квадранте.

 

 

Несмотря на то, что сейчас этот алгоритм практически не применяется, он позволяет понять сложности, которые  встречаются при растеризации отрезка  и способы их решения.

 

На вход алгоритму подаются координаты точек p1(x1, y1) и p2(x2, y2). Причем координаты точек заданы в вещественном формате.

 

#define roundf(x) floor(x + 0.5f)

 

void line_DDA(HDC hdc, float x1, float y1, float x2, float y2)

Информация о работе Инженерная и компьютерная графика