Описание на езика VRML
портал за образователни ресурси
Съдържание
1. Въведение
VRML (Език за моделиране на виртуална реалност) е предназначен да описва интерактивни 3D обекти и светове. Той е проектиран за използване в ИНТЕРНЕТ и ИНТРАНЕТ мрежи. Днес този език е мрежов стандарт и се поддържа от водещите световни доставчици на софтуер.
По своята структура езикът е обектно-ориентиран. Той има такива характеристики на обектен език като капсулиране и наследяване. Няма полиморфизъм в обичайния смисъл на думата.
2. Какво ви е необходимо за работа с VRML
За да възпроизвеждате VRML обекти, имате нужда от VRML браузър, който поддържа VRML спецификация 2.0 Популярните VRML браузъри, които поддържат Microsoft Internet Explorer, Opera и Mozila Firefox, включват blaxxun Contact (www.blaxxun.com), Cortona3D Viewer (www.cortona3d.com), BS Contact VRML/X3D (www.bitmanagement.de), Octaga Player (www.octaga.com) и други.
3. VRML файлова структура
Най-общо казано, най-простата VRML програма се състои от следните части:
#VRML V2.0 utf8
Този ред е първият ред за всеки файл, съдържащ описания на VRML обекти. Низът е задължителен и няма отстъп.
Виртуалният свят в терминологията на езика се нарича сцена, която е представена като графика от отделни обекти, наречени възли (node). Тази част описва обектите, които са необходими за изграждане на сцената (свята), замислена от потребителя.
4. Примитиви (Форми)
Формите във VRML се наричат обекти, от които се изграждат VRML светове, т.е. Формите са основните градивни елементи (компоненти) на VRML световете. Примитивните форми са стандартнипримитивни триизмерни обекти. Те включват паралелепипед, сфера, цилиндър, конус. Но чрез комбинирането им е възможно да се изградят доста сложни триизмерни изображения. Например това са:
Формите се описват с помощта на възелаФорма, който съчетава геометричните свойства на обектите (форма, структура) и свойствата, които определят външния вид на тези обекти (цвят, текстура на повърхността и т.н.). Геометричните свойства се описват с помощта на полетогеометрия. Свойствата, които определят външния вид, се описват с помощта на полетовъншен вид.
Стойността на полетоgeometry е геометричните възли, т.е. възли, които определят формата и структурата на обектите.
Стандартните примитивни геометрични възли са както следва:
Полетата на примитивните геометрични възли показват техните размери.
Мерните единици обикновено са метри, но може да са различни. Ако размерите не са посочени, тогава се приемат стойностите по подразбиране, които са различни за всеки тип възел.
Възможно е да се комбинират възли от различни типове в групи с помощта на групиращи възли. Един такъв възел еГрупа. Той има полеchildren, чиято стойност е списък от възли, които този възел обединява.
Групата обикновено се използва за обединяване на няколко възли под едно име и не дава никакви специални свойства на своите дъщерни възли, за разлика от други възли за групиране.
Пример за групов възел:
Проста примитивна форма:
5. Трансформация на формата
По подразбиране всички форми са изградени в „центъра на света VRML“. Трансформиране(Трансформиране) ви позволява да местите, завъртате и мащабирате форми в света на VRML.
В световете на VRML координатната система е триизмерна и има следната ориентация:
Трансформацията на формите става чрезтрансформации на координатната система, в която са изградени тези форми. Трансформация на координатна система се дефинира с помощта на групиращ възелТрансформация, който създава координатна система, която може да бъде преместена, завъртяна или мащабирана спрямо родителя. Формите, изградени в новата координатна система, се изместват, завъртат и мащабират на място с нея.
Дефиниция на трансформационен възел:
Полетоchildren дефинира списъка с форми, които ще бъдат построени в новата координатна система. Полетоtranslation дефинира изместването на координатната система спрямо основната координатна система. Изместването става по осите X, Y и Z.
Полетоrotation определя ориентацията на координатната система, т.е. завъртане на координатната система около оста на въртене с даден ъгъл. Ъгълът се измерва в радиани.
Оста на въртене определя вектора, около който се извършва въртенето. Обикновено въртенето е около осите X, Y или Z:
Завоят се извършва според правилото на "дясна ръка".
Полетомащаб определя увеличението или намаляването на размера на координатната система чрез коефициента на мащабиране по осите X, Y и Z.
Завъртете, преместете и мащабирайте координатната система:
6. Външен вид на форми - цвят
Примитивните фигури имат бял цвят на повърхността по подразбиране. Но е възможно да се контролира цвета на повърхността на формулярите, както и да се контролира прозрачността и други характеристики, които описват външния вид на формулярите.
Припомнете си, че възелътShape описва:
Стойността на полето за външен вид е възелътВъншен вид, който описва визуалните свойства на формулярите (материал, текстура ) чрез описанието на материала и текстурата на формулярите.
Стойностите на полето може да не са дефинирани, но ако има такиваполето е дефинирано, неговата стойност трябва да бъде възел от определен тип. Полето за материал описва свойствата на материала на повърхността на формата. Стойността на полето е възелMaterial :
Полетата на възелаMaterial описват:
Цветът във VRML се определя с помощта на три компонента:
Всеки цвят може да бъде зададен чрез смесване на тези компоненти в определени пропорции. Стойностите на всеки компонент варират от 0,0 до 1,0. Например:
Цвят Червен Син Зелен Бял 1.0 1.0 1.0 Жълт 1.0 1.0 0.0 Черен 0.0 0.0 0.0 Кафяв 0.5 0.2 0.0
Нека построим зелена топка, чийто център е разположен в точка от пространството с координати (1,1,1). Радиусът на топката е 3. За да направите това, отворете бележника и напишете следния код:
ИЛИ
Нека запазим получения файл с разширение *.wrl.
Нека отворим получения файл в браузъра и да видим какво ще се случи.
Създайте свои собствени примитиви като кутия, конус и цилиндър в различни цветове.
Нека се опитаме да създадем по-сложен триизмерен обект. Тъй като тези редове са написани в навечерието на Нова година, темата беше открита веднага - това е снежен човек. Хубав и същевременно прост обект от геометрична гледна точка.
Размерите на основните (сферични) части на снежния човек и крайният му вид са показани на фигурата. Нека да видим как изглежда на VRML.
Фрагментът, описващ "средната" топка снежен човек, започва с възел от тип Transform. Неговата цел е да зададе геометричните характеристики на изображението на дъщерния обект, по-специално най-често се използва неговото поле за превод. В нашия случай това поле съдържа тройка от числа 0 1.7 0, която е набор от координати за центъра на разглежданата сфера. По този начин се осигурява позиционирането на нашата сфера във виртуалното пространство.
Стандартен възел от типа Shape е свързан с възела, описан по-горе, чрез детското поле, което описва сфера по познат начин. Отбелязваме само, че в допълнение към дифузния бял цвят на снежния човек, ние добавихме още малко „осветление отвътре“ към него, използвайки полето emissiveColor. Желаещите могат да проверят колко по-зле ще изглежда снежният човек без тази, като цяло, не много логична мярка.
Всички останали четири сферични буци виртуален сняг са построени по подобен начин. Разбира се, техният радиус и позиция се променят, което е лесно да се изчисли с размерите, налични в чертежа.
Много по-интересни са коничният червен (VRML цвят 1 0 0) нос, който имитира традиционен морков, и цилиндричните очи.
Нека се обърнем към описанието на носа. Тъй като по подразбиране конусът е изграден с главата надолу и носът на снежния човек трябва да бъде насочен „напред“ по очевидни причини, е необходимо да завъртите конуса. Ротационното поле осигурява това. Както видяхме в пример 6.1.5, ротацията се характеризира с набор от четири числа: тройката 1 0 0 описва ротация около оста X с 1,57 радиана, т.е. 90°.
И двете цилиндрични очи с черен (0,1 0,1 0,1) цвят са изградени с подобно въртене.
Създавайте сами сложни форми, състоящи се от няколко примитиви. Например маса, къща и т.н.