Затем я определил различные находящиеся на столе объекты. Заключив каждый из объектов в узел Separator, я получил возможность изменять текущие координаты и материал объекта, не усложняя ситуации. Первый объект — столешница, одноцветный прямоугольник, созданный с помощью узла Cube. Узел Translation помещает центр столешницы немного ниже, благодаря чему становится проще располагать на ней предметы. Сфера и куб задаются достаточно просто, но для каждой из этих фигур указывается новый цвет. При создании ножек стола использовались преимущества операторов DEF и USE формата VRML. Стоящие перед узлом Separator операторы DEF и LEG определяют объект LEG как высокий узкий цилиндр с центром, смещенным немного ниже текущих координат. Последующие операторы перемещают текущие координаты к каждому из оставшихся трех углов стола и вновь используют объет LEG. За счет продуманного использования этой техники можно существенно уменьшить размер файлов VRML.
Большинство более тщательно разработанных файлов VRML выглядят несколько иначе, чем в моем примере. Многие миры создаются с помощью моделирующих программ, которые не используют кубы и сферы как таковые.
Обычно они хранят поверхности объектов в виде набора плоских многоугольников. В VRML трехмерное изображение определяется группами треугольников, сначала задающихся списком точек внутри узла PointSet. Эти текущие точки (current points) могут затем использоваться для задания текущего материала или текущих координат. На практике узел indexedFaceSet определяет одно трехмерное изображение с помощью списка координат каждого из углов составляющих его многоугольников. Каждая точка описывается с помощью одного числа, указывающего одну из текущих точек. Обычно все плоскости — треугольники, поэтому IndexedFaceSet представляет собой длинный список чисел, сгруппированных по три. (В действительности, каждая группа содержит четыре числа; с помощью -1 отмечается окончание каждой поверхности.)
Опубликовал Kest
February 22 2013 00:47:53 ·
0 Комментариев ·
6749 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.