О Найдите определяющую матрицу для эллиптического конуса после того, как он масштабирован с множителем 2 в направлении х и с множителем 3 в направлении у, а затем повернут на 30° вокруг оси у.

О Покажите, что матрица R в неявной функции F(P) = PTRP для поверхности второго порядка всегда может быть сделана симметричной. (Подсказка. Запишите матрицу R в виде суммы симметричной и антисимметричной частей и докажите, что антисимметричная часть не оказывает никакого влияния на форму этой поверхности.)

Тематическое задание 6.12. Сцены с супеквадриками Уровень сложности III.

Напишите приложение, которое может создавать базовые суперквадратичные поверхности с задаваемыми пользователем множителями выпуклости и помещать на сцену эти суперквадрики с различными размерами и различной ориентацией.

Тематическое задание 6.13. Рисование гладких параметрических поверхностей Уровень сложности III.

Разработайте функцию, которая создает каркасную модель произвольной, удобной для анализа гладкой поверхности, заданной в виде Р(и, о) = (Х(и, о), У (и, о), Z(u, о)). Эта функция задает выборочные точки поверхности в numVal uesU равноотстоящих значениях и между uMi п и иМах, а также в numVal uesV значениях V между vMin и vMax. Функции Х( ), У( ), Z( ), а также функции компонентов нормали должны быть «зашиты» в подпрограмму, которая строит на базе этих выборочных значений список вершин и список нормалей и создает список граней, состоящий из четырехугольников. Единственная трудность заключается в том, чтобы правильно писать индексы вершин для каждой грани в списке граней. Может оказаться полезным скелет программы, приведенный в листинге 6.4.

Листинг 6.4. Скелет подпрограммы создания каркасной модели для гладкой поверхности void Mesh:: makeSurfaceMeshO {

int i. j. numValsU - 40. numValsV -40: // set these // задаем эти величины

double u. v. uMin - -10.0. vMin --10.0. uMax -10.0. vMax -10.0:
double delU -(uMax - uMin)/(numValsU - 1):
double delV -(vMax - vMin)/(numValsV - 1):

numVerts - numValsU * numValsV + 1: // total # of vertices // общее количество вершин


⇐ Предыдущая| |Следующая ⇒