Graphics & Media Lab. >> Курсы >> Курс Ю.М.Баяковского 2001

Описание функий glMap2[fd], glMapGrid2[fd], glEvalMesh2

Все ниже приведенные функции вызываются там же, где и примитивы.

Рис.1. Контрольные точки B(i,j). Напрвления u, v.

Рис.1. Контрольные точки B(i,j). Напрвления u, v.

Задание контрольных точек:

void glMap2d( GLenum target, // тип данных. Если равен GL_MAP2_VERTEX_3, значит построение поверхности по массиву точек из трех координат (x, y, z). Можно задать GL_MAP2_VERTEX_4, тогда точка задается 4-мя координатами (x, y, z, h), где h - это вес.
GLdouble u1, // начальное значение параметра в u направлении
GLdouble u2, // конечное значение параметра в u направлении
GLint ustride, // количество данных типа double между соседними точками в u направлении
GLint uorder, // количество точек в u направлении
GLdouble v1, // начальное значение параметра в v направлении
GLdouble v2, // конечное значение параметра в v направлении
GLint vstride, // количество данных типа double между соседними точками в v направлении
GLint vorder, // количество точек в v направлении
GLdouble *points ) // массив контрольных точек, задающих поверхность

Определение аппроксимирующей сетки, по которой строится поверхность:

void glMapGrid2d( GLint un, // количество точек сетки в u направлении будет равно un+1
GLdouble u1, // начальное значение параметра в u направлении
GLdouble u2, // конечное значение параметра в u направлении
GLint vn, // количество точек сетки в v направлении будет равно vn+1
GLdouble v1, // начальное значение параметра в v направлении
GLdouble v2, // конечное значение параметра в v направлении

Определение параметров визуализации поверхности Безье.

void glEvalMesh2( GLenum mode, // GL_LINE - отображается сетка, аппроксимирующая поверхность
GL_FILL - отображается поверхность
GL_POINT - точки сетки аппроксимирующей поверхности
GLint i1, GLint i2, // номера точек аппроксимирующей сетки в u направлении, с которых начинается визуализация (i1) поверхности и заканчивается (i2). Причем i1 < i2. i1, i2 принимают значения от 0 до un (из функции glMapGrid2f).
GLint j1, GLint j2, // номера точек аппроксимирующей сетки в v направлении, с которой начинается визуализация (j1) поверхности и заканчивается (j2). Причем j1 < j2. j1, j2 принимают значения от 0 до vn (из функции glMapGrid2f).
Graphics & Media Lab. >> Библиотека | Курсы | Графикон
 
Hosted by Graphics & Media Lab
http://graphics.cs.msu.su
lab_logo
Дизайн: Алексей Игнатенко
Поддержка: Ольга Соловьева