ВУЗ:
Составители:
123
нии). Ложные ребра на экран не выводятся, но ординаты точек на
них при тех дискретных значениях
x, при которых ребра опреде-
лены, участвуют в формировании массивов верхнего и нижнего
горизонтов (при тех же условиях, что и сами кривые).
С учетом приведенных соображений формальное описание
последовательности действий алгоритма плавающего горизонта
можно описать примерно так: поочередно для каждой из равно-
отстоящих друг от друга плоскостей
z = const, начиная с ближней
от точки наблюдения:
определить координаты первой (левой) точки
P
n
на лежащей в
плоскости кривой
y = f (x);
обработать левое боковое ребро: если точка
P
n
является первой
точкой на первой кривой, то запомнить ее в качестве
P
n–1
и за-
кончить обработку; в противном случае создать ребро, соеди-
няющее
P
n–1
и P
n
, занести, если это требуется, ординаты точек
ребра в массивы верхнего и нижнего горизонтов и запомнить
P
n
в качестве P
n–1
;
определить координаты остальных точек на кривой
y = f (x) при
дискретном изменении
x с единичным шагом, в том числе по-
следней (правой) точки
Q
n
;
если
y = f (x) является первой обрабатываемой кривой, занести
значения
y всех точек на ней для соответствующих x в массивы
верхнего и нижнего горизонтов и закончить обработку, если
нет, тогда: сравнить для каждой точки на кривой значение
y с
имеющимися в массивах верхнего и нижнего горизонтов (для
соответствующего значения
x); если y точки не меньше, чем в
массиве верхнего горизонта, или не больше, чем в массиве
нижнего горизонта, или значения в массивах отсутствуют, объ-
явить точку видимой и занести
y точки в соответствующий
массив (или в оба массива); в противном случае объявить точку
невидимой;
обработать правое боковое ребро: если точка
Q
n
является по-
следней точкой на первой кривой, то запомнить
Q
n
в качестве
Q
n–1
и закончить обработку; в противном случае создать ребро,
123
нии). Ложные ребра на экран не выводятся, но ординаты точек на
них при тех дискретных значениях x, при которых ребра опреде-
лены, участвуют в формировании массивов верхнего и нижнего
горизонтов (при тех же условиях, что и сами кривые).
С учетом приведенных соображений формальное описание
последовательности действий алгоритма плавающего горизонта
можно описать примерно так: поочередно для каждой из равно-
отстоящих друг от друга плоскостей z = const, начиная с ближней
от точки наблюдения:
определить координаты первой (левой) точки Pn на лежащей в
плоскости кривой y = f (x);
обработать левое боковое ребро: если точка Pn является первой
точкой на первой кривой, то запомнить ее в качестве Pn–1 и за-
кончить обработку; в противном случае создать ребро, соеди-
няющее Pn–1 и Pn , занести, если это требуется, ординаты точек
ребра в массивы верхнего и нижнего горизонтов и запомнить
Pn в качестве Pn–1 ;
определить координаты остальных точек на кривой y = f (x) при
дискретном изменении x с единичным шагом, в том числе по-
следней (правой) точки Qn ;
если y = f (x) является первой обрабатываемой кривой, занести
значения y всех точек на ней для соответствующих x в массивы
верхнего и нижнего горизонтов и закончить обработку, если
нет, тогда: сравнить для каждой точки на кривой значение y с
имеющимися в массивах верхнего и нижнего горизонтов (для
соответствующего значения x); если y точки не меньше, чем в
массиве верхнего горизонта, или не больше, чем в массиве
нижнего горизонта, или значения в массивах отсутствуют, объ-
явить точку видимой и занести y точки в соответствующий
массив (или в оба массива); в противном случае объявить точку
невидимой;
обработать правое боковое ребро: если точка Qn является по-
следней точкой на первой кривой, то запомнить Qn в качестве
Qn–1 и закончить обработку; в противном случае создать ребро,
Страницы
- « первая
- ‹ предыдущая
- …
- 121
- 122
- 123
- 124
- 125
- …
- следующая ›
- последняя »
