quad-strip = {pvpl,pP...,pil^}. (6.9)

Предполагается, что вершины берутся парами, причем нечетные вершины формируют одно «ребро» полосы четырехугольников, а четные - другое ребро. Не каждый полигон можно представить в виде полосы четырехугольников. (Какие из полигонов, изображенных на рис. 6.31, не являются полосами четырехугольников? Какие печатные буквы алфавита могут быть нарисованы как полосы четырехугольников?)

Френсис Хилл

Рис. 6.32. Полосы четырехугольников и призмы, построенные на них Когда сетка сформирована как экструзивная полоса четырехугольников, в список вершин помещается только 2М вершин, а в список граней помещаются только «внешние стенки». Всего имеется 2М - 2 граней. (Почему?) Следовательно, при визуализации сетки лишние стенки вообще не рисуются. Метод создания сетки для экструзивных полос четырехугольников будет принимать в качестве параметров массив двумерных точек и вектор экструзии:

void Mesh:: makeExtrudedQuadStrip(Point2 р[]. int numPts. Vector3 d): На рис. 6.33 показан пример интересной экструзивной полосы четырехугольников. В тематическом задании 6.4 способы создания таких сеток рассматриваются более детально.

Глава 6. Моделирование поверхностей полигональными сетками

6.4.3. Экструзии с «поворотом» До сих пор экструзия только передвигала полигон основания в новое положение, определяющее полигон крышки. Легко обобщить эту концепцию так, чтобы получить значительно более широкое семейство форм. Для этого в качестве полигона крышки можно взять увеличенный или уменьшенный, а возможно, и повернутый полигон основания. В частности, если полигон основания Р задан вершинами {р0, р{.....Ры^}> то полигон крышки Р" будет задан следующим образом: Р'={Мр0,Мр1.....Мры), (6.10)

где М - некоторая матрица четыре на четыре, соответствующая аффинному преобразованию. На рис. 6.34 приведено несколько примеров. На рисунках 6.34, а и б показаны усеченные пирамиды, или конические цилиндры (усеченные конусы), крышки которых являются уменьшенными версиями основания. Матрица преобразования для объектов такого типа имеет вид:


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