Создание произвольных фигур на VRML ------------------------------------------------ IndexedFaceSet данный узел педставляет собой набор в ручную задаваемых граней. С его помощью можно определить фигуры абсолютно произвольной формы. Алгоритм: 1.пронумеровать вершины начиная с нуля. 2.опреедлить грани, т.е. перечислитьвсе вершины определяющие грани. 3!.проверить чтобы все вершины были компланарны, т.е. должны лежать в одной плоскости Shape { geometry IndexedFaceSet { coord Coordinate { point [ -1 0 1, 1 0 1, 1 0 -1, -1 0 -1 0 2 0]} coordIndex [ 4 0 3 -1 4 3 2 -1 4 2 1 -1 3 0 1 -1] solid FALSE } Coordinate - список координат точек пространства coordIndex - название поля узла IndexedFaceSet. Список граней. Для определения грани необходимо последовательно ввести номера определяющих ее вершин. Завершать перечисление каждой грани надо символом "-1", чтобы обозначит переход к следующей грани. Сами номера вершин беруться из списка в поле coord. Замечание!!: если Вы смотрите на грань с лицевой стороны, то направление обхода грани должно быть против часовой стрелки. Это важно поскольку обратная сторона грани отрисовывается отнюдь не всегда. solid FALSE - указание браузеру делать рендеринг внутренних поверхностей. Иначе из-за соображения увеличения скорости такая прорисовка проводиться не будет. отчет цветов начинается в точке строго над головой и идет вниз к точке строго внизу. Естественной линии горизонта соответствует угол 90 гр. (1,57 рад) первый цвет закрашивает сферическую область вокруг верхнего полюса второй цвет концентрическую полоску прямо под ней и так далее вниз до точки надира. список значений skuAngle определяет расположение этих полос. первый цвет строго в зините автоматически имеет значение 0 поэтому это значение не указывается. таким образом число элементов в списке skyAngle всегда на 1 меньше чем число элементов списка skyColor Браузер осуществляет смесь цветов фона, поэтому переход от цвета к цвету всегда получается плавным. ---------------------- Панорамное изображение