1 / 24

Навигация, обкръжаваща действителност и информация за сцената във VRML. З a даване на светлина.

Мултимедия и основи на уеб дизайна. а с.Елена Първанова. Навигация, обкръжаваща действителност и информация за сцената във VRML. З a даване на светлина. 2011. ТЕМА 1 4. Информация за 3D сцената. WorldInfo Node. Синтаксис:. WorldInfo { info [ ] title "" }.

calum
Download Presentation

Навигация, обкръжаваща действителност и информация за сцената във VRML. З a даване на светлина.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Мултимедия и основи на уеб дизайна ас.Елена Първанова Навигация, обкръжаваща действителност и информация за сцената във VRML. Зaдаване на светлина. 2011 ТЕМА 14

  2. Информация за 3D сцената WorldInfo Node Синтаксис: WorldInfo { info [ ] title "" } • Този възел не влияе по никакъв начин на 3D сцената. • Той дава информация за заглавието на сцента и информация за 3D документа. • Полето titleе стринг, аinfoсъдържа списък от стрингове.

  3. Свързващи възли • Свързващите възли са специален тип възел в сцената, осигуряващи информация за средата и потребителя. • Когато сцената се зарежда първо се инициализират и активизират тези възли. За това те се поствят в началото на VRML кода. • Свързаващи възли са: • Viewpoint - определя позицията на потребителя; • NavigationInfo – определя свойствата на потребителя; • Fog– добавя атмосфера в сцената; • Background– осигурява небе и изображения за земя в сцената.

  4. Свързващи възли Viewpoint Node Синтаксис: Viewpoint { fieldOfView 0.785398 position 0 0 10 orientation 0 0 1 0 description "" jump TRUE } • Viewpoint Node определя местоположението на потребителя и изгледите за наблюдение на модела. • Възела се представя чрез следните полета: • fieldOfView – определя ъгъла на изгледа в радиани; • position– определя позицията на потребителя в координатната система; • description– осигурява текстово описание на гледната точка; • jump– обуслявя преместването в сцената при преминаването от активен изглед към нов. • При jump TRUEсе осъществява придвижване по път между двата изгледа; • При jump FALSEимаме просто смяна на изгледите.

  5. Свързващи възли NavigationInfo Node Синтаксис: NavigationInfo { avatarSize [0.25, 1.6, 0.75] headlight TRUE speed 1.0 type "WALK“ visibilityLimit 0.0 } • NavigationInfo Nodeпредставя потребителя. • Възела се характеризира със следните полета: • avatarSizeопределя физическите размери на потребителя. Полето има три стойности: 1) определя минималното отстояние на потребителя от геометрия със сблъсък (Collisionnode); 2) определя височината на потребителя; 3) определя височина на потребителската стъпка. • headlight– определя дали да има или няма основна светлина към сцентата. • visibilityLimit – определя максималното разстояние на което може да вижда потребителя. • speed – определя предвижването на потребителя в метри за секунда. • type – определя типа на навигация на потребителя ("WALK", "EXAMINE", "FLY", и "NONE“).

  6. Свързващи възли Viewpoint Node и NavigationInfo Node Пример с 5 изгледа #VRML V2.0 utf8Viewpoint { description "Front View" position 0 0 8 }Viewpoint { description "Upper View" position -1 5 8 orientation -1 0 0 0.52 }Viewpoint { description "The highest View" position -1 9 6 orientation -1 0 0 1.04 }Viewpoint { description "Underground View“ position 1 -3 6 orientation 1 0 0 0.52 }Viewpoint { description "Almost Inside View" position 0 -1 4 orientation 1 0 0 0.52 }NavigationInfo { type [ "EXAMINE" "ANY" ] }Group { children [  Transform { translation 0 2 0    children [      Shape {        appearance Appearance {material Material {diffuseColor 1.1 0.2 0 } }        geometry Cone { bottomRadius 2.5 }      }    ]   }  Shape {    appearance Appearance { material Material { diffuseColor 0.9 0.9 0 } }    geometry Cylinder {radius 2}  }] } Фиг.14.1 Примитиви представени в изглед “Upper View” Виж 3D модела

  7. Свързващи възли Fog Node Синтаксис: Fog { color 1 1 1 fogType "LINEAR“ visibilityRange 0 } • Fog Nodeсе използва за придаването на реализъм, създавайки мъгла в 3D сцената. • Включва следните полета: • color – задава цвета на мъглата. • fogType – определя как плътността на мъглата да нараства с разстоянието ("LINEAR" или "EXPONENTIAL“). • visibilityRange – определя разстоянието от което обектите са изцяло засенчени от мъглата.

  8. Свързващи възли Fog Node Пример на сцена с мъгла #VRML V2.0 utf8 Moreland Group { children [ Fog { color 1.0 1.0 1.0 fogType "EXPONENTIAL“ visibilityRange 40.0 }, Background { skyColor 1.0 1.0 1.0 }, Inline { url "fogworld.wrl" } ] } Фиг.14.2 Сцена с експоненциална мъгла и видимост 40.0 Виж 3D модела

  9. Свързващи възли Background Node Синтаксис: Background { skyColor [ 0 0 0 ] skyAngle [ ] groundColor [ ] groundAngle [ ] backUrl [ ] bottomUrl [ ] leftUrl [ ] rightUrl [ ] frontUrl [ ] topUrl [ ] } • Background Nodeпредоставя начин за описание на хоризонта в 3D сцената. • Позволява да бъдат дефинирани небе, земя и изображения за панорама за хоризонта.

  10. Свързващи възли Background Node SkyAngleSkyColor 00 0 1 • Небето се дефинира като безкрайно голяма сфера около сцената с цвят или градиентен ефект (фиг.14.3 а, б). • Определя се от две полета: • skyColorв RGB стойности • skyAngleизползва се само за градиентен ефект. Фиг.14.3 а Фиг.14.3 б SkyAngleSkyColor • 0 (горен полюс) 0 0 1 • 1.2 0 0 0.6 • 1.57 1 0 0

  11. Свързващи възли Background Node groundAnglegroundColor 3.14 (по-нисък полюс) 0.5 0.5 0 1.57 0.5 0.5 0 • Подобно на небето и земята е безкрайно голяма сфера около сцената, като тя се съдържа в сферата на небето. • Разликата между двете е че ако за земната сфера не е зададен цвят можете да виждате през нея. • Цветовете за земята се определят за долното полуктлбо (фиг.14.4). Фиг.14.4 Сцена с цвят за земя и градиент за небе

  12. Свързващи възли Background Node Пример: Background { skyAngle [ 1.2 1.57] skyColor [0 0 1, 0 0 0.6, 1 0 0] groundColor [0.5 0.5 0.0] backUrl "back4.gif" rightUrl "back4.gif" leftUrl "back4.gif" frontUrl "back4.gif" } • Възможно е поставянето на изображения по страните, отгоре и отдолу на безгранично голям куб, съдържащ се в земната сфера (фиг.14.5 а, б). Фиг.14.5 а Иображение за страните куба (back4.gif) Фиг.14.5 б Сцена с избражение за хоризонта

  13. Светлина във VRML Lighting Nodes Отражение на светлината Във VRML няма отразена светлина, само директна. Това означава, че обектите които не са на пътя на светлината изглеждат тъмни. В замяна на светлинното отражение, светлините във VRML имат поле наречено ambientIntensity. Това поле контролира до колко светлината способства за цялостната осветеност в сцената. Високите стойности на ambientIntensityсъздават по светло място. • Светлината във VRML сцена е два вида: специална светлина и основна светлина (headlight). • Основната светлина се дефинира в NavigationInfo Node. Тя се създава от браузъра и прикрепена към използвания потребителски изглед. • Специалната светлина е три типа: • Directional Light– светлината няма местоположение, а само посока като лъчите са в целия паралел. • Point Light– осветява всичко около себеси от мястото на източника, като лъчите са във всички посоки. • Spot Light– създава конус от светлина.

  14. Светлина във VRML Обсег и отслабване на светлината Сянка VRML не предоставя въаможност за създаване на сянка. На фиг.14.6 е представена Point Light отляво на две сфери в една зад друга, при което не се наблюдава ефекта на сянка. • Естествен ефект на светлината е да намалява с увеличване на разстоянито. • Във VRML това се постига с полето attenuation. • Attenuationе валидн само за Point LightиSpot Light . Фиг.14.6 Ефект на сянка във VRML сцена

  15. Светлина във VRML Осветяване на равнини повърхности • Прилагане на Spot Lightвърху куб: Фиг.14.7 а Куба се намира вътре в конуса на светлината Spot light Фиг.14.7 б Лицето на куба се намира извън конуса на Spot light Фиг.14.7 в Светлината е насочена към горния десен ъгъл на лицето на куба Фиг.14.7 г Осветяване на повърхност създадена с IndexedFaceSet или полоскаElevation Grid

  16. Светлина във VRML Цветни светлини • Цвета може да бъде прилаган към светлина по същия начин както към форми (фиг.14.8). Фиг.14.8 а Ярко синя сфера с червена Spot light насочена отляво Фиг.14.8 б Синя сфера (0.3 0.3 1) с червена Spot light насочена отляво Фиг.14.8 в Синя сфера и насочена отляво светлина с RGB стойности 1 0.3 0.3

  17. Светлина във VRML Въздейстие на светлината върху неоцветени форми • Когато полето materialвAppearance node е NULL или не е определен материал: material Material { } , то формата не се осветява коректно (фиг.14.9). Фиг.14.9 Оцветена (лява) и неоцветена (дясна) сфери с приложена Point light

  18. специални светлини DirectionalLight Node DirectionalLight { on TRUE intensity 1 ambientIntensity 0 color 1 1 1 direction 0 0 -1 } Синтаксис: • DirectionalLight Nodeопределя светлинен източник, който е поставен много далече от обектите в сцената (не се изисква задаване на местопложението на източника). • Полето определя вектор 3D пространството към който лъчите са паралелни (фиг.14.10). • Възела се представя със следните полета: • on – определя дали светлината е активирана; • intensity– определя силата на светлината със стойности между от 0.0 до 1.0; • ambientIntensity– определя до колко светлината допринася за общата осветеност със стойности между 0.0 и 1.0. • color– определя цвета на светлината в RGB стойности; • direction – определя вектор в 3D сцената. Фиг.14.10 Паралелни лъчи на DirectionalLight

  19. специални светлини DirectionalLight Node #VRML V2.0 utf8 Group { children [ DirectionalLight { direction 1.0 0.0 0.0 }, Inline { url "spheres.wrl" bboxCenter 0.0 0.0 0.0 bboxSize 16.0 16.0 1.0 } ] } Пример за DirectionalLight осветяваща сфери от дясно Виж 3D модела

  20. специални светлини PointLight Node PointLight { on TRUE intensity 1 ambientIntensity 0 color 1 1 1 location 0 0 0 attenuation 1 0 0 radius 100 } Синтаксис: • Point Lights определя светлинен източник със специално местоположение. • Лъчите на този тип светлина се разпръскват във всички посоки (фиг.14.11). • Светлината залива всички възли попадащи в радиуса на осветяване, незвисимо от позицията им във файла. • Възела се представя в допълнителните полета: • location – определя координатите на местоположението на светлината; • attenuation – определя как светлината губи своята интензивност с нарастване на разстоянието; • radius – определя максималното разстояние на въздействие на лъчите в сцената. Фиг.14.11 Прилагане на Point Lights

  21. специални светлини PointLight Node #VRML V2.0 utf8 Group { children [ PointLight { location 0.0 0.0 0.0 radius 12.0 }, Inline { url "spheres.wrl" bboxCenter 0.0 0.0 0.0 bboxSize 16.0 16.0 1.0 } ] } Пример Сфери осветени от point light в центъра Виж 3D модела

  22. специални светлини SpotLight Node SpotLight { on TRUE intensity 1 ambientIntensity 0 color 1 1 1 location 0 0 0 direction 0 0 0 attenuation 1 0 0 radius 100 cutOffAngle 0.78 beamWidth 1.57 } Синтаксис: • Spot Light определя светлинен източник с местоположение и посока и обхват на приложение. • Лъчите на този тип светлина са ограничени от повърхността на конус (фиг.14.12). • Върха на конуса задава местоположението на източника, а основата обхвата на осветяваната повърхност (обекти). • Възела се представя допълнителни полета: • cutOffAngle – определя конуса в който се съдържат лъчите. Може да варира от 0 до 180 градуса; • beamWidth - определя вътрешен конус в който лъчите са с постоянна интензивност. Варира от 0 до 180 градуса (1,57 радиани). Фиг.14.12 Приложение на Spot Light

  23. специални светлини SpotLight Node Radiusопределя максималното разстояние до което достигат светлините лъчи. Обектите извън обхвата на радиуса или конуса не се осветяват. • Върха на конуса образуван от Spot Light,задава местоположението на източника, а основата - обхвата на осветяваната повърхност (обекти). • Светлинния конус се определя от две полета (фиг.14.13): • cutOffAngle – определя ъгъла на конуса в радиани; • beamWidth–определя ъгъла на вътрешния конус, където светлинната интензивност е постоянна. • Лъчите между вътрешния и външния конус са с намаляваща интензивност от вътре на вън. Фиг.14.13 Действие на Spot Light

  24. специални светлини SpotLight Node #VRML V2.0 utf8 Group { children [ SpotLight { location 0.0 0.0 0.0 direction 1.0 0.0 0.0 radius 12.0 cutOffAngle 0.785 }, Inline { url "spheres.wrl" bboxCenter 0.0 0.0 0.0 bboxSize 16.0 16.0 1.0 } ] } Пример Сфери осветени със spotlight от центъра и насочена на дясно Виж 3D модела

More Related