Єрьомін Е, Мова тривимірного моделювання VRML та його освітні можливості, Газета
Частина 1. Милуємося результатами технології VRML
VRML - це ведмідь, що танцює. Всіх вражає не те, як він танцює, а те, що він танцює взагалі [1].
Іншої тривимірної технології, що дозволяє робити такі речі, немає. . Одна з бід VRML була в тому, що на ньому намагалися мультфільми робити, всілякі entertainment, а треба було гайки та болти малювати – з цього і грошей більше, і робити простіше [2].
Що таке VRML?
VRML (Virtual Reality Modeling Language) часто неявно вважається деяким доповненням до HTML, що дозволяє створювати на web-сторінках тривимірні віртуальні світи. Історично така думка справедлива, оскільки саме в Інтернеті планувалося розмістити перші VRML-світи. У той же час, VRML є цілком самостійною мовою опису об'ємних об'єктів, яка може використовуватися поза Мережею. Зокрема, більшість програм тривимірного моделювання можуть зберігати об'єкти та сцени у форматі VRML; особливо часто це застосовується у САПР. Так що інтуїтивне уявлення, що VRML - це "те ж саме, що HTML, тільки для опису тривимірних об'єктів", явно відводить нас у бік від дійсності.
Примітка. Спочатку дві останні літери у назві пропонувалося, як й у HTML, розшифровувати Markup Language, тобто. мова розмітки. Але досить швидко розшифровка була замінена на діючу зараз, зайвий раз підтверджуючи той факт, що тривимірне моделювання та розмітка тексту — речі суттєво різні.
VRML-файл зазвичай прийнято називатисвітом(world), тому він має розширення wrl, наприклад city.wrl. Віртуальні світи здатні виглядати дуже вражаюче (приклади будуть описані далі).
За своєю суттюVRML, швидше, можна назвати мовою програмування, причому яскраво вираженоюоб'єктно-орієнтованоюмовою. Говорячи про нього, багато в чому доречніше проводити паралелі не стільки з HTML, скільки з Java. Крім того, як і Java, VRMLплатформенно-незалежн, і область його застосування так само не обмежується технологіями Internet/Intranet, для яких він спочатку розроблявся.
Мова VRML вже більше десяти років (як дати його народження прийнято називати 1994 рік, коли на конференції з World Wide Web були вперше сформульовані основні концепції цієї мови). І хоча за цей час йому не вдалося стати чимось поширеним, він продовжує існувати і використовуватися, маючи, незважаючи на постійні суперечки і критику, своїх затятих шанувальників. Наведені як епіграфи полярні за оцінкою цитати яскраво підтверджують це. Хороше уявлення про статус VRML дає наступна цитата із вступу до чудової статті [3]:
Публікація природно поділяється на дві частини:“Любуємося результатами технології VRML”та“Розуміємо та створюємо VRML”. Ми сподіваємося, що читачі виявлять інтерес не лише до першої з них, бо за задумом вона є лише ефектним запровадженням до другої, створюючи необхідну стійку мотивацію до знайомства з основами мови.
Коротка історія VRML
Нарешті, ще через рік після деякого несуттєвого вдосконалення мови, його стан був зафіксований у версіїVRML97(стандарт ISO/IEC 14773), яка стала найвищою точкою її розвитку.
Стандарти всіх версій мови легко знайти в Інтернеті, тому ми не будемо наводити посилань.
Насправді друга версія VRML була ще менш життєздатною, ніж перша. Основною проблемою нового VRML сталоте, що в 1997 році середньостатистичні споживачі комп'ютерів не могли придбати ПК, здатний відображати 3D-світи з адекватною швидкістю, та й пропускна здатність каналів не могла забезпечити вимог передачі для віртуальних сцен. З точки зору технічних можливостей комп'ютерів VRML з'явився зарано, і це ще один приклад відмінної продукції, яку на піку популярності не просунули та не поширили належним чином.
У всіх прикладах нашої статті ми будемо скористатися синтаксисом версії VRML97.
Вражаючі приклади
Перш ніж поринути у вивчення синтаксису мови, подивимося, що можна на ньому отримати: відомо, що сильні позитивні емоції та враження суттєво стимулюють процес навчання.
У більшості популярних публікацій про VRML з'являються фрази про численність прикладів в Інтернеті. Ось типовий вибраний навмання пасаж:
“Вже існують сотні VRML-вузлів, і щодня з'являються хоча б кілька нових, що змінюють уявлення про Мережі та дивують своїми можливостями навіть далеку від світової павутини людину. Вже сьогодні у відвідувачів з'являється реальна можливість прогулятися вулицями Сан-Франциско, Риму чи Парижа, відвідати найвідоміші музеї витончених мистецтв планети, відволіктися від повсякденного світу, цілком і повністю занурюючись у новий вимір”.
По-перше, як ми пам'ятаємо з історичного екскурсу, пік популярності VRML мав місце приблизно 10 років тому. Через війну багато посилань, наприклад на вражаючі екскурсії закордонними містами, зараз виявляються “битими”, тобто. web-сторінки, куди ведуть посилання, давно перестали існувати. Слова "закордонний" і "давно" у попередній пропозиції не є суттєвими: непрацюючими, зокрема, виявилися і посиланняна віртуальний Петербург 5 присвячені 300-річчю міста, яке, як ми пам'ятаємо, було зовсім недавно.
Примітка. VRML є мовою,чутливою до регістру символів. Тому як би не дивно виглядало написання AsciiText, воно зроблено у повній відповідності до синтаксису!
По-четверте, багато прикладів виглядали дуже дилетантськи і не вражали зовсім. Таке було, зокрема, відвідування багатообіцяючої екскурсії Парижем, що проходила всередині якихось залів під куполом; правда, можливо, це була лише своєрідна "передпокій", звідти якось можна було "телепортуватися" в інші сцени, але в мене цього не вийшло, незважаючи на активні маніпуляції мишею.
Примітка. При відвідуванні віртуальної екскурсії слід мати на увазі, що у разі низької швидкості інтернет-каналу численні файли-текстури підвантажуються не одразу, тому якийсь час тролейбуси біля входу можуть виглядати сірими паралелепіпедами, а меморіальні скульптури — похмурими каркасами.
Прекрасно зроблений VRML-світ справді справляє враження подорожі у тривимірному просторі: керуючи мишею, можна легко обминати об'єкти, оглядаючи їхній вигляд з різних боків.
Розташована в нижньому правому кутку карта допомагає не заплутатися в поворотах, що на деяких етапах трапляється.
Якщо ви не полінуєтеся завантажити та інсталювати ще один 3D-плагін — Cortona3D фірми Parallel Graphics [8], то зможете познайомитися з декількома не менш цікавими тривимірними проектами, про які вже згадувалося вище [2] (сучасніші посилання на них краще брати з сайту [9]).
Примітка. Встановлення вказаного плагіна зручніше зробити з будь-якого сайту, де він використовується: у цьому випадку процедура буде максимально простою. Зазначу, що Blaxxun Contact таCortona3D використовувалися в моєму комп'ютері цілком дружно.
Ось детальна сцена підйому підводного човна Курськ. На малюнку наведено атомний крейсер "Петро Великий", який брав участь у цих роботах. Сам човен на даному етапі віртуального процесу поки що лежить на дні, тому показати тут його вигляд з поліграфічних причин було б складно.
На наступному малюнку ви бачите один із кількох можливих видів тривимірної демонстрації ходу операції із затоплення української орбітальної станції “Мир” [10]. Зображено момент включення двигуна для надання станції імпульсу, що гальмує, з метою організації її сходу з орбіти. Цифрові дані в правій частині екрана свідчать про те, що це не просто красивий об'ємний "мультфільм", але чесне фізичне моделювання процесу: враховуються та контролюються параметри орбіти, швидкість космічного комплексу та інші параметри реальності, що моделюється.
Погляньте ще на одну ілюстрацію з цієї серії — Віртуальний виставковий центр [12]. На неї обов'язково варто подивитися як на деяку індексну сторінку 3D-сайту: клацаючи по картинах, що висять на стіні, можна переходити до відповідних матеріалів (в ідеальному випадку, звичайно, теж тривимірним!).
Взагалі тривимірні виставки, галереї та музеї – це дуже поширена в Інтернеті тематика. Я переконливо раджу вам прочитати огляд [13], де описані віртуальні музейні технології та цікаві приклади віртуальних музеїв. На жаль, ілюстрації самого огляду є об'ємними, а більшість посилань “не відповідає”.
Тим, хто цікавиться астрономією та освоєнням космосу, можливо, варто відвідати сайт [14]. Його вхідна сторінка містить безліч посилань на об'ємні моделі, пов'язані з Марсом та Сонячною системою. Нижче наводиться прикладодного із фрагментів, на якому можна спостерігати рух планет. На жаль, весь контент дається англійською мовою, хоча сайт явно український, який використовує зарубіжні джерела.
А шанувальників хімії та вчителів цього предмета напевно зацікавлять об'ємні моделі молекул із сайтів [15, 16]. Ось, на мій погляд, гарний приклад, який демонструє структуру алмазу та графіту. Як відомо, вони складаються з тих самих атомів, але різна просторова структура надає їм принципово різні характеристики.
Великий архів усіляких VRML-файлів можна знайти на сайті [17]. Сайт дуже заплутаний за навігацією, тому в тексті головної сторінки пошукайте посилання на “бібліотеку готових VRML-об'єктів та сцен”.
Зрештою, ніяк не можна пройти повз віртуальний тривимірний будмайданчик [18].
Вона приваблює зовсім не реалізмом у зображенні будівельної техніки і навіть не виразними стереоефектами, але тим, що ця техніка рухається під керуванням оператора. У нижній частині екрану знаходяться пульти керування баштовим краном (його “верхівка” на малюнку не показана), екскаватором та самоскидом. Ручки керування, які ви там бачите, легко керуються мишкою. Зокрема, екскаватор здатний їхати, повертати кабіну, а також копати землю, для чого можна керувати двома рухливими зчленуваннями його стріли та окремо ковшем. При певній навичці, мабуть, можна навантажити землею самоскид, відвезти її в потрібне місце і вивалити (чесно кажучи, мені не вистачило терпіння навчитися висипати землю з ковша точно в кузов, але це не говорить про те, що це неможливо).
Необхідне ПЗ
Щоб краще зрозуміти роль програмного забезпечення у відображенні файлів VRML, коротко розглянемо послідовність створення 3D-зображення на екрані комп'ютера.
Отриманнятривимірних ілюстрацій зазвичай є триступеневим процесом: побудова тривимірної моделі (або моделей); застосування атрибутів поверхонь та, нарешті, рендеринг композиції у файл або відображення її на екрані. Четвертий (необов'язковий) крок, який підтримує багато тривимірних програм, — це анімація композиції. Початковий "каркас" моделі (його часто називають wire - дротяний) виглядає приблизно так.
Примітка. Якщо ви хоч трохи цікавилися роботою трансляторів, то, читаючи попередній опис, не могли не згадати терміникомпіляціятаінтерпретація. Компілятор перетворює всю програму на деякий еквівалент, після чого він уже не потрібен. Інтерпретатор, навпаки, працює з програмою постійно, обробляючи ті її частини, які зараз потрібні. У цьому сенсі програмне забезпечення для демонстрації VRML аналогічне інтерпретатору.
Позначення:free- безкоштовно;free*- умовно безкоштовно;trial- безкоштовний випробувальний період;Netscape-like- група браузерів Netscape Navigator, Mozilla, Firefox, Opera;standalone- окремий додаток, незалежний від web-браузера;GPL— ліцензія на вільне програмне забезпечення.
Чим більше ваші домагання у будівництві віртуальних світів, тим складніше програмне забезпечення, яке вам при цьому потрібно. Цілком можливо, що безкоштовного програмного забезпечення вам знайти вже не вдасться. Зауважимо, що широкий набір засобів для VRML-розробника пропонує (на жаль для системи освіти, не безкоштовно) фірма Parallel Graphics, про яку ми неодноразово згадували у зв'язку з прикладами складних та вражаючих тривимірних проектів. Існує також багато інших пропозицій, включаючи відомі 3D-Max та Auto CAD, які здатні зберегти результати роботи у форматіVRML.
5.Джамса К., Лалані С., Віклі С.Програмування в Web для професіоналів. Мінськ: ТОВ "Попурі", 1997, 632 с.