Система координат принятая в VRML является правосторонней трехмерной Картезианской координатной системой. Это значит, что ось X горизонтальна, ось Y вертикальна, а ось Z направлена от экрана.
За единицу измерения линейного размера в VRML принят 1 метр. Почему именно метр ? Возможно потому, что относительно размеров в реальном мире было бы проще все размеры виртуального мира измерять также в метрах. Это конечно же не означает, что виртуальные дома созданные вами должны иметь натуральные размеры. Вы можете создать дом размером в 1 миллиметр, только в этом случае все координаты будут иметь большее количество нулей. А в связи с тем, что файлы VRML текстовые, данное решение не будет хорошим.
Кстати следует поговорить насчет точности размеров. Точно так же, как и для HTML, для VRML не существует хорошего редактора. Почему ? А потому, что любой редактор это программа и скорее всего ему не вдомек насколько точно вам нужен определенный размер. Почти всегда объекты создаются вручную, т.е. движением мышки, а не точным заданием размеров. От того, что любое движение мышки не является идеально точным и возникают погрешности в несколько пикселов. После нескольких тригонометрических преобразований величина в несколько пикселов вырастает в числовую последовательность достаточно большой длинны. А по причине того, что параметры округления во многих редакторах задать нельзя совсем, либо можно, но в бесконечном количестве настроек (которые, как правило, остаются в состоянии "по умолчанию"), то можно констатировать тот факт, что программа будет делать "как может" и никто не будет гарантировать результат. Из-за этого часто можно наблюдать картину, когда, например, толщина стены здания задана с точностью до велинины молекулы, хотя часто и сантиметры сложно на глаз определить (тем более в браузере). Поэтому, как и в HTML, я рекомендую Вам использовать ручную разметку. Сложно, но можно. Заодно развивается воображение. Хотя, если подойти к этому вопросу грамотно и создать все нужные проекции, то можно определять все расстояния с помощью циркуля.
Следующая единица измерения предназначена для углов. С точки зрения математики разработчики стандарта VRML поступили грамотно и приняли 1 радиан за единицу измерения углов, но с точки зрения ручного создания гораздо более выгодным решением были бы градусы, так что остается "поклониться" разработчикам... Теперь всем любителям "клавиши F4" обеспечена небольшая головная боль. Вот небольшая табличка:
Градусы | Радианы |
---|---|
0 | 0 |
45 | 0.78 |
90 | 1.57 |
135 | 2.36 |
180 | 3.14 (pi) |
225 | 3.93 |
270 | 4.71 |
315 | 5.5 |
360 | 6.28 (2*pi) |
Подумать только, для того, чтобы записать угол в 90 градусов надо использовать значение размером в 4 символа (вместо 2) кроме того точность этого прямого угла будет сомнительной. Мда... Ну ладно...
Углы, углы... А для чего они ?! Хехе... Углы используются для вращения трехмерных объектов вокруг осей. Причем запомните угол отсчитывается по часовой стрелке - это важно ! Хотя кому как... :)
Следующей размерностью являются секунды. Для измерения, как уже все догадались, времени.
Ну, и на последок, цветое пространство. Цвета в VRML задаются, к сожалению, не совсем как в HTML, а именно в все в том же виде RGB, но компоненты цвета измеряются вещественной величиной от 0 до 1 (где 1 - максимальное значение составляющей цвета). К примеру:
красный - (1,0,0) серый - (0.5,0.5,0.5) = (.5,.5,.5)