ВУЗ:
Составители:
121
Данный алгоритм относится к группе алгоритмов, реали-
зующих удаление невидимых линий и поверхностей. Чаще всего
он используется для визуализации трехмерных поверхностей,
описываемых функциями вида
F (x, y, z) = 0. Главная идея заклю-
чается в сведении трехмерной задачи к двумерной: поверхность
сечется параллельными и равноотстоящими друг от друга плос-
костями, и на экран выводятся линии пересечения (рис.4). Так,
например, при задании секущих плоскостей постоянными значе-
ниями
z поверхность представ-
ляется совокупностью кривых,
которые описываются функ-
циями
y = f (x, z) при z = const,
т.е.
y = f (x). Плоскости
z = const сортируют по степе-
ни их удаленности от точки на-
блюдения. Затем поочередно
для каждой плоскости, начиная
с ближней, строится лежащая
на ней кривая. При этом для
каждого из значений
х, зада-
ваемых в пространстве изо-
бражения (в координатной плоскости экрана) с шагом, равным
расстоянию между пикселями (т.е. единице), определяется зна-
чение
у. Если на текущей кривой при конкретном значении х со-
ответствующее значение
у больше или, наоборот, меньше, чем
значения
y для всех предыдущих кривых при том же значении х,
то текущая кривая полагается видимой в данной точке; в против-
ном случае она считается невидимой (на рис.4 невидимые участ-
ки кривых показаны пунктиром).
Для хранения максимальных и минимальных значений
у при
каждом значении
х используются два массива чисел: массив
верхнего горизонта
и массив нижнего горизонта (они отража-
ют текущее состояние «верхнего горизонта» и «нижнего горизон-
та» соответственно). Очевидно, что по мере обработки кривых
значения в первом массиве могут только увеличиваться («верх-
ний горизонт» всплывает), а во втором – только уменьшаться
Рис.4. Кривые y = f (x)
в секущих плоскостях z = const
y
x
0
z
=
const
121
Данный алгоритм относится к группе алгоритмов, реали-
зующих удаление невидимых линий и поверхностей. Чаще всего
он используется для визуализации трехмерных поверхностей,
описываемых функциями вида F (x, y, z) = 0. Главная идея заклю-
чается в сведении трехмерной задачи к двумерной: поверхность
сечется параллельными и равноотстоящими друг от друга плос-
костями, и на экран выводятся линии пересечения (рис.4). Так,
например, при задании секущих плоскостей постоянными значе-
ниями z поверхность представ-
y ляется совокупностью кривых,
которые описываются функ-
циями y = f (x, z) при z = const,
т.е. y = f (x). Плоскости
z = const сортируют по степе-
z = const
ни их удаленности от точки на-
блюдения. Затем поочередно
x для каждой плоскости, начиная
0 с ближней, строится лежащая
Рис.4. Кривые y = f (x) на ней кривая. При этом для
в секущих плоскостях z = const каждого из значений х, зада-
ваемых в пространстве изо-
бражения (в координатной плоскости экрана) с шагом, равным
расстоянию между пикселями (т.е. единице), определяется зна-
чение у. Если на текущей кривой при конкретном значении х со-
ответствующее значение у больше или, наоборот, меньше, чем
значения y для всех предыдущих кривых при том же значении х,
то текущая кривая полагается видимой в данной точке; в против-
ном случае она считается невидимой (на рис.4 невидимые участ-
ки кривых показаны пунктиром).
Для хранения максимальных и минимальных значений у при
каждом значении х используются два массива чисел: массив
верхнего горизонта и массив нижнего горизонта (они отража-
ют текущее состояние «верхнего горизонта» и «нижнего горизон-
та» соответственно). Очевидно, что по мере обработки кривых
значения в первом массиве могут только увеличиваться («верх-
ний горизонт» всплывает), а во втором – только уменьшаться
Страницы
- « первая
- ‹ предыдущая
- …
- 119
- 120
- 121
- 122
- 123
- …
- следующая ›
- последняя »
