Трехмерная компьютерная графика
Категория реферата: Рефераты по информатике, программированию
Теги реферата: шпаргалки по гражданскому, свобода реферат
Добавил(а) на сайт: Патрикия.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата
1 = видима и выше верхнего горизонта
-1 = видима и ниже нижнего горизонта
Draw – графическая команда, которая чертит видимую линию между точками, заданными их координатами.
Xmin, Xmax – минимальная и максимальная абсциссы функции
Xшаг – шаг приращения вдоль оси x
Zmin, Zmax – минимальная и максимальная аппликата функции
Zшаг – шаг между плоскостями z = const
Dimension Верх (Гэкран), Низ (Гэкран) инициализация переменных
Xлевое = (1; Yлевое = (1; Xправое = (1; Yправое = (1 инициализация массивов горизонтов
Верх = 0
Низ = Вэкран
Вычисление функции на каждой плоскости z = const, начиная с ближайшей к наблюдателю плоскости Zmax for z = Zmax to Zmin step ( Zшаг инициализация предыдущих значений по x и y: Xпред и Yпред
Xпред = Xmin
Yпред = f (Xmin, z) если используется видовое преобразование, то его нужно применить к
Xпред, Yпред, z в данной точке обработка левого бокового ребра call Обрребра (Xпред, Yпред, Xлев, Yлев; Верх, Низ) call Видимость (Xпред, Yпред, Верх, Низ; Пфлаг) для каждой точки на кривой, лежащей в плоскости z = const for x = Xmin to Xmax step Xшаг y = f (x, z) если используется видовое преобразование, то его нужно применить к данной точке проверка видимости текущей точки и заполнение соответствующего массива горизонта call Видимость (x, y, Верх, Низ; Тфлаг) if Тфлаг = Пфлаг then if (Тфлаг = 1) or (Тфлаг = (1) then
Draw (Xпред, Yпред, x, y) call Горизонт (Xпред, Yпред, x, y; Верх, Низ) end if если видимость изменилась, то вычисляется пересечение и заполняется массив горизонта else if Тфлаг = 0 then if Пфлаг = 1 then call Пересечение (Xпред, Yпред, x, y, Верх; Xi, Yi) else call Пересечение (Xпред, Yпред, x, y, Низ; Xi, Yi) end if
Draw (Xпред, Yпред, Xi, Yi) сall Горизонт (Xпред, Yпред, Xi, Yi, Верх, Низ) else if Тфлаг = 1 then if Пфлаг = 0 then call Пересечение (Xпред, Yпред, x, y, Верх; Xi, Yi)
Draw (Xi, Yi, x, y) сall Горизонт (Xi, Yi, x, y; Верх, Низ) else call Пересечение (Xпред, Yпред, x, y, Низ; Xi, Yi)
Draw (Xпред, Yпред, Xi, Yi) call Горизонт (Xпред, Yпред, Xi, Yi; Верх, Низ) call Пересечение (Xпред, Yпред, x, y, Верх; Xi, Yi)
Draw (Xi, Yi, x, y) call Горизонт (Xi, Yi, x, y; Верх, Низ) end if else if Пфлаг = 0 then call Пересечение (Xпред, Yпред, x, y, Верх; Xi, Yi)
Draw (Xi, Yi, x, y) call Горизонт (Xi, Yi, x, y; Верх, Низ) else call Пересечение (Xпред, Yпред, x, y, Верх; Xi, Yi)
Draw (Xпред, Yпред, Xi, Yi) call Горизонт (Xпред, Yпред, Xi, Yi; Верх, Низ) call Пересечение (Xпред, Yпред, x, y, Низ; Xi, Yi)
Draw (Xi, Yi, x, y) call Горизонт (Xi, Yi, x, y; Верх, Низ) end if end if end if end if вновь инициализировать Пфлаг, Xпред, Yпред
Пфлаг = Тфлаг
Xпред = x
Yпред = y next x обработка правого концевого ребра call Обрребра (x, y, Xправ, Yправ; Верх, Низ) next z finish
подпрограмма обработки бокового ребра
Subroutine Обрребра (x, y, Xребра, Yребра; Верх, Низ) если Xребра = (1, то встречена первая кривая и ребро не создаётся if Xребра = (1 then 1 call Горизонт (Xребра, Yребра, x, y; Верх, Низ)
1 Xребра = x
Yребра = y return подпрограмма определения видимости точки
Subroutine Видимость (x, y, Верх, Низ; Тфлаг) видимость точки определяется по отношению к верхнему и нижнему плавающим горизонтам. Если точка лежит на самом горизонте, то она считается видимой.
Тфлаг = 0, если точка невидима
= 1, если она видима и выше верхнего горизонта
= (1, если она видима и ниже нижнего горизонта x считается целой if (y < Верх (x)) and (y > Низ (x)) then Тфлаг = 0 if y ( Верх (x) then Тфлаг = 1 if y ( Низ (x) then Тфлаг = (1 return
подпрограмма заполнения массивов плавающих горизонтов
Subroutine Горизонт (X1, Y1, X2, Y2; Верх, Низ)
Эта программа использует линейную интерполяцию для заполнения массивов горизонтов между X1 и X2
Max (a, b) – определяет большее из a и b
Min (a, b) – определяет меньшее из a и b проверка вертикальности наклона if (X2 ( X1) = 0 then
Рекомендуем скачать другие рефераты по теме: предмет культурологии, реферат на тему организация.
Предыдущая страница реферата | 5 6 7 8 9 10 11 12 13 14 15 | Следующая страница реферата