Сигнальна машина

VRML дозволяє описувати динамічні світи. Динаміка в VRML реалізується за допомогою механізму обміну сигналами, або сигнальної машини. Суть його така: у випадку якихось змін параметрів вузол оповіщає про це всі «пов’язані із ним вузли», що у свою чергу можуть змінитися і надіслати відповідні повідомлення далі «по ланцюжку».

Але практично справа обстоїть складніше: не всі параметри вузла змінювані і не всі зміни повинні розсилатися.

Для досягнення гнучності та ефективності сигнальної машини VRML визначає чотири типи полів, що описують параметри вузла:

ü Незмінюване поле (field);

ü Поле-передавач (eventOut), призначене тільки для надсилання сигналів;

ü Поле-приймач (eventIn) для прийому сигналів;

ü Поле-прийомопередавач (exposedField), що сполучає властивості всіх попередніх.

Поля-передавачі можна зв’язувати з полями-приймачами «за допомогою дроту» (ROUTE), явно описуючи пари вузлів, що повинні взаємодіяти.

Наприклад, найпростіша анімація, що обертає геометричний об’єкт, буде вимагати ввести в сцену:

ü Трансформаційний вузол, що забезпечує обертання;

ü Інтерполятор, що описує закон, за яким будет обертатися об’єкт;

ü Генератор часу.

Далі вузли зв’язуються «за допомогою дроту» у такий спосіб: поле-передавач генератора часу повинне надсилати сигнали про зміну поточного часу на відповідний вхід (поле-приймач) інтерполятора обертання, яке, у свою чергу, повинне надіслати сигнал про зміну кута повороту на вузол, що здійснює трансформацію.

Деякі особливості мови VRML

Доцільно звернути увагу на дві особливості VRML, без знання яких ускладнюється процес створення VRML-документів:

ü Всі описи вузлів і параметрів у VRML регістрозалежні. Якщо використовувати літери іншого регістру, то VRML-браузер проігнорує такий опис;

ü У VRML велике значення має порядок опису вузлів.

Так, наприклад, опис

Rotation{…}

Scale{…}

і опис

Scale{…}

Rotation{…}

дають зовсім різний результат.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: