Скачиваний:
165
Добавлен:
01.05.2014
Размер:
446.46 Кб
Скачать

4.2.Алгоритм плавающего горизонта

Алгоритм разработан в 1972 г. и чаще всего используется для визуализации трехмерного представления функций вида F(x,y,z) = 0 и работает в пространстве изображения.

Главная идея данного метода заключается в сведении трехмерной задачи к двумерной путем пересечения исходной поверхности последовательностью параллельных секущих плоскостей, имеющих постоянные значения координат x, y или z. Алгоритм работает в пространстве изображения.

В простейшем случае алгоритм плавающего горизонта может быть сформулирован следующим образом.

Если на плоскости изображения при некотором заданном значении X соответствующее значение Y на кривой больше значения Y для всех предшествующих кривых при этом значении X, то текущая кривая видима в этой точке; в противном случае она невидима.

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

Если на плоскости изображения при некотором заданном значении X соответствующее значение Y на кривой больше максимума или меньше минимума по Y для всех предшествующих кривых при этом X, то текущая кривая видима в этой точке; в противном случае она невидима.

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

На рис.4.3 представлено изображение лицевой поверхности функции, описываемой уравнением

на интервале .

Изображение (рис.4.3) построено на основании сечений заданной функции двумя семействами плоскостей, параллельных координатным плоскостям XOY и YOZ (табл.4.3). При построении использованы верхний и нижний горизонты.

Табл.4.3.Значения заданной функции

Z \ Y

-4

-3

-2

-1

0

1

2

3

4

-4

1,00

0,65

0,40

025

0,16

0,25

0.40

0,65

1,00

-3

1,54

1,00

0,62

0,38

0,31

0,38

0,62

1,00

1,54

-2

2,50

1,62

1,00

0,62

0,50

0,62

1,00

1,62

2,50

-1

4,00

2,60

1,60

1,00

0,80

1,00

1,60

2,60

4,00

0

5,00

3,25

2,00

1,25

1,00

1,25

2,00

3,25

5,00

1

4,00

2,60

1,60

1,00

0,80

1,00

1,60

2,60

4,00

2

2,50

1,62

1,00

0,62

0,50

0,62

1,00

1,62

2,50

3

1,54

1,00

0,62

0,38

0,31

0,38

0,62

1,00

1,54

4

1,00

0,65

0,40

025

0,16

0,25

0.40

0,65

1,00

4.3.Алгоритм Варнока

Алгоритм Варнока (1968 г.) работает в пространстве изображения. Он основан на двух принципах:

  • считается, что в пространстве, ограниченном экраном или окном экрана (прямоугольного сечения), можно распознать некоторое ограниченное число ситуаций, которые можно представить на экране. Если сцена, заключенная в это окно, не принадлежит ни к одному из распознаваемых случаев, окно делится на четыре подокна (рис.4.4). Затем последовательно рассматривается каждое из окон. Распознаваемые ситуации таковы, что при постепенном уменьшении габаритов окна вероятность встречи такой ситуации возрастает;

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

Таким образом, алгоритм Варнока в основном состоит в определении пространственного положения каждой грани аппроксимирующих оболочек объектов относительно окна. Грани могут быть внешними, пересекающими, внутренними и охватывающими (рис.4.5). Последняя категория граней играет важную роль в алгоритме Варнока: систематически производится проверка, не располагается ли такая охватывающая грань перед всеми остальными в рассматриваемой части пространства. В зависимости от того, как оформляется изображение – в виде векторного рисунка или же в виде растрового изображения, - результат будет различным: в первом случае ничто не выводится, во втором - часть экрана, соответствующая окну, заполняется цветом охватывающей грани.

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

Соседние файлы в папке Конспект по компьютерной графике