Файлы VRML — это текстовые файлы со списком узлов (nodes). Некоторые из этих узлов определяют новые видимые объекты на экране. Например, узел Sphere {radius 2.3} создает сферу указанного радиуса. Отметим, что узлы состоят из типов (type), за которыми в фигурных скобках следует несколько полей (fields). Если поля не указываются, то будет использовано значение, заданное по умолчанию. Например, Cube {} задает куб со сторонами в одну единицу масштаба, в текущем месте расположения курсора, с гранями текущего цвета. Другие узлы изменяют способ, которым прорисовываются ранее определенные узлы. Так, узел Translation изменяет текущее расположение курсора, указывая, где появятся следующие объекты. Узел Material задает свойства поверхности последующих объектов.
На рис. 17.1 приведен пример модели VRML. Эта модель была создана с помощью листинга, приведенного на рис. 17.2. Эта достаточно простая модель иллюстрирует некоторые аспекты VRML. Прежде всего, необходимо обратить внимание на то, что файл целиком и некоторые группы узлов окружаются узлами Separator. Узлы Separator выделяют различные параметры отображения, например изменение текущего положения курсора. Файл, помещенный между узлами Separator, проще вставлять в другие файлы.
Первые два узла, внутри самого внешнего Separator, задают освещенность и положение камеры. Камера также называется точкой просмотра (viewpoint) и определяет то место, откуда вы впервые смотрите на модель. Как несложно заметить, центр стола имеет координаты (0, 0, 0). Координаты (position) камеры (-2, 2, 8) указывают на то, что она расположена немного левее (л: -2), выше (у 2) и перед моделью (z 8). Отметим, что координата z направлена перпендикулярно поверхности экрана в вашу сторону. Ориентация (orientation) указывается с помощью линии, проходящей через точки (0, 0, 0) и (1,.7, 0), и угла поворота. Числа, указанные здесь, были получены методом проб и ошибок. |