Стандартные геометрические примитивы
Стандартные геометрические примитивы
Рассмотрим стандартные команды построения примитивов, которые реализованы в библиотеках GLU и GLUT.
Как уже было сказано, чтобы построить примитив из библиотеки GLU, надо сначала создать указатель на quadric- объект с помощью команды gluNewQuadric(), а затем вызвать одну из команд gluSphere(), gluCylinder(), gluDisk(), gluPartialDisk(). Рассмотрим эти команды отдельно:
void gluSphere(GLUquadricObj*qobj, GLdouble radius, GLint slices, GLint stacks)
Строит сферу с центром в начале координат и радиусом radius. При этом число разбиений сферы вокруг оси z задается параметром slices, а вдоль оси z параметром stacks.
void gluCylinder(GLUquadricObj*qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks)
Строит цилиндр без оснований (то есть кольцо), продольная ось параллельна оси z, заднее основание имеет радиус baseRadius, и расположено в плоскости z=0, переднее основание имеет радиус topRadius и расположено в плоскости z=height. Если задать один из радиусов равным нулю, то будет построен конус.
Параметры slices и stacks имеют тот же смысл, что и в предыдущей команде.
void gluDisk(GLUquadricObj*qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops)
Строит плоский диск (то есть круг) с центром в начале координат и радиусом outerRadius. При этом если значение innerRadius ненулевое, то в центре диска будет находиться отверстие радиусом innerRadius. Параметр slices задает число разбиений диска вокруг оси z, а параметр loops -число концентрических колец, перпендикулярных оси z.
void gluPartialDisk(GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle);
Отличие этой команды от предыдущей заключается в том, что она строит сектор круга, начальный и конечный углы которого отсчитываются против часовой стрелки от положительного направления оси y и задаются параметрами startAngle и sweepAngle. Углы измеряются в градусах.
Команды, проводящие построение примитивов из библиотеки GLUT, реализованы через стандартные примитивы OpenGL и GLU. Для построения нужного примитива достаточно произвести вызов соответствующей команды.
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks)
void glutWireSphere(GLdouble radius, GLint slices, GLint stacks)
Команда glutSolidSphere() строит сферу, а glutWireSphere() - каркас сферы радиусом radius. Остальные параметры имеют тот же смысл, что и в предыдущих командах.
void glutSolidCube(GLdouble size)
void glutWireCube(GLdouble size)
Эти команды строят куб или каркас куба с центром в начале координат и длиной ребра size.
void glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks)
void glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks)
Эти команды строят конус или его каркас высотой height и радиусом основания base, расположенный вдоль оси z. Основание находится в плоскости z=0. Остальные параметры имеют тот же смысл, что и в предыдущих командах.
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)
void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings)
Эти команды строят тор или его каркас в плоскости z=0. Внутренний и внешний радиусы задаются параметрами innerRadius, outerRadius. Параметр nsides задает число сторон в кольцах, составляющих ортогональное сечение тора, а rings- число радиальных разбиений тора.
void glutSolidTetrahedron(void)
void glutWireTetrahedron (void)
Эти команды строят тетраэдр (правильную треугольную пирамиду) или его каркас, при этом радиус описанной сферы вокруг него равен 1.
void glutSolidOctahedron(void)
void glutWireOctahedron(void)
Эти команды строят октаэдр или его каркас, радиус описанной вокруг него сферы равен 1.
void glutSolidDodecahedron(void)
void glutWireDodecahedron(void)
Эти команды строят додекаэдр или его каркас, радиус описанной вокруг него сферы равен квадратному корню из трех.
void glutSolidIcosahedron(void)
void glutWireIcosahedron(void)
Эти команды строят икосаэдр или его каркас, радиус описанной вокруг него сферы равен 1.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
4. Примитивы синхронизации
4. Примитивы синхронизации ОС QNX Neutrino предоставляет широкий набор элементов синхронизации выполнения потоков, как в рамках одного процесса, так и разных. Это практически полный спектр примитивов, описываемых как базовым стандартом POSIX, так и всеми его расширениями
10.4. Примитивы процессов
10.4. Примитивы процессов Несмотря на относительно длинную дискуссию, необходимую для описания процесса, создание и уничтожение процессов в Linux достаточно
Примитивы DLPI
Примитивы DLPI Как и в случае предоставления транспортных услуг, обмен данными между пользователем и поставщиком происходит в виде сообщений, несущих примитивы DLPI. Ниже рассмотрены некоторые из этих примитивов, относящиеся к режиму передачи без предварительного
Стандартные объекты
Стандартные объекты Adobe InDesign позволяет создавать четыре типа стандартных объектов: линии, прямоугольники, эллипсы и многоугольники.Следует отдельно оговорить, что под словом «линия» в данный момент понимается прямая линия. Кривые, изогнутые, любой желаемой формы линии
Вершины и примитивы
Вершины и примитивы Определение атрибутов вершины Под вершиной понимается точка в трехмерном пространстве, координаты которой можно задавать следующим образом:void glVertex[2 3 4][s i f d](type coords)void glVertex[2 3 4][s i f d]v(type *coords)Координаты точки задаются максимум четырьмя значениями: x, y,
R.4 Стандартные преобразования
R.4 Стандартные преобразования Некоторые операции в зависимости от своих операндов могут вызвать преобразование значения операнда от одного типа к другому. Здесь описываются преобразования, вызванные самыми обычными операциями, и объясняется каковы могут быть
Поверхностные примитивы
Поверхностные примитивы Стандартные трехмерные примитивы в программе AutoCAD можно создать несколькими способами. Первый способ – использование команды 3D. После ее запуска в командной строке появится запрос:Enter an option[Box/Cone/DIsh/DOme/Mesh/Pyramid/Sphere/Torus/Wedge]:Выбрав один из параметров
Примитивы, определённые в библиотеке
Примитивы, определённые в библиотеке Чтобы упростить задачу определения iterator_category, value_type и distance_type для определяемых пользователем итераторов, библиотека обеспечивает следующие предопределённые классы и функции:// iterator tags (теги итераторов)struct input_iterator_tag {};struct output_iterator_tag
Примитивы управления памятью (Memory Handling Primitives)
Примитивы управления памятью (Memory Handling Primitives) Чтобы получать типичный указатель на неинициализированный буфер памяти данного размера, определена следующая функция:template ‹class T›inline T* allocate(ptrdiff_t n, Т*); // n ›= 0Размер (в байтах) распределённого буфера - не меньше n*sizeof(T).Для
2.3.3. Стандартные библиотеки
2.3.3. Стандартные библиотеки Даже если при компоновке программы не были заданы библиотеки, все равно одна из них почти наверняка присутствует. Дело в том, что компилятор gcc автоматически подключает к программе стандартную библиотеку языка С: libc. В нее, однако, не входят
Поверхностные примитивы
Поверхностные примитивы Стандартные трехмерные примитивы в программе AutoCAD можно создать несколькими способами. Первый способ – использование команды 3D. После ее запуска в командной строке появится запрос: Enter an option [Box/Cone/DIsh/DOme/Mesh/Pyramid/Sphere/Torus/Wedge]: Выбрав один из параметров
Графические примитивы
Графические примитивы Графические примитивы представляют собой процедуры, осуществляющие рисование в графическом окне. Рисование осуществляется текущим пером (линии), текущей кистью (заливка замкнутых областей) и текущим шрифтом (вывод строк). procedure SetPixel(x,y: integer; c: Color);
1.2. Создание изображений. Графические примитивы
1.2. Создание изображений. Графические примитивы Команды создания графических примитивов позволяют строить единые и неделимые объекты различными типами линий и разными цветами.Точка, как правило, является вспомогательным средством для маркировки и последующего
5.2. Стандартные служебные программы: Пуск | Все программы | Стандартные | Служебные
5.2. Стандартные служебные программы: Пуск | Все программы | Стандартные | Служебные В программной группе Стандартные | Служебные находятся следующие программы:? Internet Explorer (без надстроек) — запускает IE без надстроек, что поможет в случае, если какая-то из надстроек
У14.3 Геометрические объекты с двумя координатами
У14.3 Геометрические объекты с двумя координатами Опишите класс TWO_COORD, задающий объекты с двумя вещественными координатами, среди наследников которого были бы классы POINT (ТОЧКА), COMPLEX (КОМПЛЕКСНОЕ_ЧИСЛО) и VECTOR (ВЕКТОР). Будьте внимательны при помещении каждого компонента на