ФУНКЦИИ GLUT ПОВЕРХНОСТЕЙ ВТОРОГО ПОРЯДКА Сфера GLUT генерируется с помощью одной из следующих функций: glutWireSphere (г, nLongitudes, nLatitudes);

Рис. 8.7. Суперэллипсоиды, изображенные для разных значений параметров «1 и вг из диапазона от 0,0 до 2,5 при гх = гу = гг

ИЛИ

glutSolidSphere (г, nLongitudes, nLatitudes); Здесь радиус сферы определяется числом с плавающей запятой двойной точности, присвоенным параметру г. Параметры nLongitudes и nLatitudes задают целое число линий долготы и широты, которые будут использоваться для аппроксимации сферической поверхности четырехугольной сеткой. Стороны участков четырехугольной поверхности являются линейной аппроксимацией линий широты и долготы. Сфера определяется в модельных координатах, ее центр находится в начале внешней системы координат, а полярная ось проходит по оси г.

Конус GLUT выводится на экран с помощью команды

glutWireCone (rBase, height, nLongitudes, nLatitudes); или

glutSolidCone (rBase, height, nLongitudes, nLatitudes); Радиус основания конуса и высота конуса выбираются равными значениям с плавающей запятой двойной точности, при этом используются параметры rbase и height соответственно. Как и при изображении сферы GLUT, параметрам nLongitudes и nLatitudes присваиваются целые значения, задающие число ортогональных линий поверхности аппроксимирующей четырехугольной сетки. Линия долготы конуса является прямым отрезком, проходящим по поверхности конуса от вершины до основания и полностью лежащим в плоскости, содержащей ось конуса. Каждая линия широты отображается как набор прямых отрезков по периметру окружности на поверхности конуса, параллельной основанию конуса и лежащей на плоскости, перпендикулярной оси конуса. Конус описывается в модельных координатах, центр его основания находится в начале глобальной системы координат, а ось конуса проходит по оси z глобальной системы координат.

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

glutWireTorus (rCrossSection, rAxial, nConcentrics,

nRadialSlices); или

glutSolidTorus (rCrossSection, rAxial, nConcentrics,

nRadialSlices) ;

Top, получаемый посредством указанных процедур GLUT, можно описать как поверхность, порожденную вращением окружности радиуса rCrossSection вокруг компланарной оси z, где расстояние от центра окружности до оси z равно rAxial (раздел 8.4). Размер тора (радиусы) в этих функциях GLUT выбирается с использованием значений двойной точности с плавающей запятой. Чтобы задать размер четырехугольников в аппроксимирующей тор поверхностной сетке, параметрам nConcentrics и nRadialSlices присваиваются требуемые целые значения. Параметр nConcentrics задает число концентрических окружностей (с центром на оси z) на поверхности тора, а параметр nRadialSlices задает число радиальных сечений, проходящих через поверхность тора. Данные два параметра определяют число ортогональных линий сетки, проходящих по поверхности тора, причем линии сетки изображаются прямыми отрезками (границы четырехугольников), расположенными между точками пересечения. Отображаемый тор центрирован в начале внешней системы координат, а его ось идет по оси z внешней системы координат.


⇐ вернуться назад | | далее ⇒