1 / 16

Създаване на сложни фигури с VRML. Поставяне на текст в 3D сцената.

Мултимедия и основи на уеб дизайна. а с.Елена Първанова. Създаване на сложни фигури с VRML. Поставяне на текст в 3D сцената. 2011. ТЕМА 1 2. Геометрични възли. PointSet node. Синтаксис. PointSet { exposedField SFNode color NULL exposedField SFNode coord NULL }.

tana-guerra
Download Presentation

Създаване на сложни фигури с VRML. Поставяне на текст в 3D сцената.

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. Поставяне на текст в 3D сцената. 2011 ТЕМА 12

  2. Геометрични възли PointSet node Синтаксис PointSet { exposedFieldSFNodecolor NULL exposedFieldSFNodecoord NULL } • PointSet nodeопределя набор от 3D точки с цвят в локалната координатна система. • Възела съдържа две полета colorиcoord. • Полето colorопределя цвета на точките с Color node: Color { color [ ] } • Полето coordопределя местоположението на точките с Coordinate node : Coordinate { point [ ] }

  3. Геометрични възли PointSet node Пример – куб от точки #VRML V2.0 utf8 Shape { appearance Appearance { material Material { emissiveColor 1.0 1.0 1.0 } } geometry PointSet { coord Coordinate { point [ # координати за горната повърхност на куба -1.0 1.0 1.0, 1.0 1.0 1.0, 1.0 1.0 -1.0, -1.0 1.0 -1.0, # координати за долната повърхност на куба -1.0 -1.0 1.0, 1.0 -1.0 1.0, 1.0 -1.0 -1.0, -1.0 -1.0 -1.0 ] } } } Фиг.12.1 Изображение на примера Куб от точки Виж 3D модела

  4. Геометрични възли IndexedLineSet node Синтаксис IndexedLineSet { coord NULL coordIndex [ ] color NULL colorIndex [ ] colorPerVertex TRUE } • IndexedLineSet node определя набор от линии с цвят в локалната координатна система. • Възелът съдържа 5 полета: coord, coordIndex, color, colorIndexиcolorPerVertex. • ПолетоcoordIndexопределя списък от координатни индекси, дефиниращи изрисуването на линиите. • ColorIndexизпълнява същата функция като coordIndex, но относно цветовете. • ColorPerVertexдефинира как цветовете да бъдат прилагани: • colorPerVertex е TRUE – цветовете се прилагат към всеки връх; • colorPerVertexе FALSE - цветовете се прилагат към всяка линия.

  5. Геометрични възли IndexedLineSet node Пример – куб от линии #VRML V2.0 utf8 Shape { appearance Appearance { material Material emissiveColor 1.0 1.0 1.0 } } geometry IndexedLineSet { coord Coordinate { point [ #координати за горната повърхност на куба 1.0 1.0 1.0, 1.0 1.0 1.0, 1.0 1.0 -1.0, -1.0 1.0 -1.0, # координати за долната повърхност на куба 1.0 -1.0 1.0, 1.0 -1.0 1.0, 1.0 -1.0 -1.0, -1.0 -1.0 -1.0 ] } coordIndex [ 0, 1, 2, 3, 0, -1,# отгоре 4, 5, 6, 7, 4, -1, # отдолу 0, 4, -1, # вертикални ръбове 1, 5, -1, 2, 6, -1, 3, 7 ] } } Фиг.12.2 Изображение на примера Куб от линии Виж 3D модела

  6. Геометрични възли IndexedFaceSet node Синтаксис IndexedFaceSet { coord NULL coordIndex [ ] color NULL colorIndex [ ] colorPerVertex TRUE normal NULL normalIndex [ ] normalPerVertex TRUE texCoord NULL texCoordIndex [ ] ccw TRUE ConvexTRUE solid TRUE creaseAngle 0.0 } • IndexedFaceSet nodeопределя набор от повърхнини в локалната координатна система. • Полетоcoordсе представят 3D координатите. • Полето coordIndexопределя списък от координатни индекси, които се използват за изчертаване на повърхнината. • Маркерът -1 показва, че дадената повърхнина е създадена и започва другата. • texCoordIndexсе използва за прилагане на текстура по зададени координати. • Полето ccwопределя дали точките дефиниращи повърхнината да се представят обратно (TRUE) или по часовниковата стрелка (FALSE). • Полето solidобуславя дали браузъра да изчертава двете страни на повърхнината (FALSE) или само предната (TRUE). • Полето convexопределя дали повърхнините дефинирани coordIndexда бъдат изпъкнали или не. • ПолетоcreaseAngleопределя ъгъла на закръгление.

  7. Геометрични възли IndexedFaceSet node Пример – куб от повърхнини #VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry IndexedFaceSet { coord Coordinate { point [ #координати за горната повърхност на куба -1.0 1.0 1.0, 1.0 1.0 1.0, 1.0 1.0 -1.0, -1.0 1.0 -1.0, # координати за долната повърхност на куба -1.0 -1.0 1.0, 1.0 -1.0 1.0, 1.0 -1.0 -1.0, -1.0 -1.0 -1.0 ] } coordIndex [ 0, 1, 2, 3, -1,# отгоре 7, 6, 5, 4, -1, # отдолу 0, 4, 5, 1, -1, # отпред 1, 5, 6, 2, -1, # дясно 2, 6, 7, 3, -1, #отзад 3, 7, 4, 0# ляво ] } } Фиг.12.3 Изображение на примера Куб от повърхнини Виж 3D модела

  8. Геометрични възли ElevationGrid node Синтаксис ElevationGrid { xDimension 0 xSpacing 0.0 zDimension 0 zSpacing 0.0 height [ ] color NULL colorPerVertex TRUE normal NULL normalPerVertex TRUE texCoord NULL ccw TRUE convex TRUE solid TRUE creaseAngle 0.0 } • ElevationGrid nodeопределя мрежа от точки, всяка със зададена височина. • Изгражда се в XZ повърхнина и има следните полета: • xDimension: броя на точките в мрежата по оста X. • zDimension: броя на точките в мрежата по оста Z. • xSpacing: разстоянието между две съседни точки по посока на оста X. • zSpacing: разстоянието между две съседни точки по посока на оста Z. • height: височина на всяка точка от мержата.

  9. Геометрични възли ElevationGrid node Пример - планина #VRML V2.0 utf8 Shape { appearanceAppearance { material Material { } } geometry ElevationGrid { xDimension 9 zDimension 9 xSpacing 1.0 zSpacing 1.0 solid FALSE creaseAngle 0.785 height [ 0.0, 0.0, 0.5, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 3.0, 1.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.5, 2.0, 4.5, 2.5, 1.0, 1.5, 0.5, 1.0, 2.5, 3.0, 4.5, 5.5, 3.5, 3.0, 1.0, 0.0, 0.5, 2.0, 2.0, 2.5, 3.5, 4.0, 2.0, 0.5, 0.0, 0.0, 0.0, 0.5, 1.5, 1.0, 2.0, 3.0, 1.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, ] } } Фиг.11.3 Изображение на примера Планина Виж 3D модела

  10. Геометрични възли Extrusion node Полетоspine(гръбнак) определя пътя по който сечението се движи, за да създаде фигура (фиг.12.5). • Extrusion Node мощен възел, който позволява дефинирането на много сложни фигури. • Основата на екструдираната фигура е 2D сечението на крайната фигура, дефинирано в XZ повърхнина (фиг.12.4). Фиг.12.5Spine на куб и перспективен път на сеченивто Фиг.12.4 Сечение на куб

  11. Геометрични възли Extrusion node Синтаксис Extrusion { beginCap TRUE endCap TRUE ccw TRUE convex TRUE creaseAngle 0 crossSection [1 1,1 -1, -1-1, -1 0, 1 1] orientation 0 0 1 0 scale 1 1 solid TRUE spine [0 0 0, 0 1 0] } • Браузъра визуализира фигурата с две spineточки: • Преместване на сечението към първата spineточка; • Ориентиране на сечението; • Преместване на сечението към последната spineточка; Виж 3D модела Фиг.12.6 Куб създаден чрез Extrusion Node

  12. Геометрични възли Extrusion node Пример - куб #VRML V2.0 utf8 Shape{ appearance Appearance { material Material { diffuseColor .8 .16 0 specularColor .5 .5 .5 emissiveColor .15 .03 0 ambientIntensity 0 } } geometry Extrusion{ crossSection [ -1 -1, -1 1, 1 1, 1 -1, -1 -1] spine [0 -1 0 , 0 1 0 ] beginCap FALSE endCap FALSE solid FALSE } } • ПолетатаbeginCapиendCapопределят дали екструдираната форма да бъде отворена или затворена в краищата. Виж 3D модела Фиг.12.7 Куб без горна и долна повърхнина

  13. Геометрични възли Extrusion node Пример – куб #VRML V2.0 utf8 Shape{ appearance Appearance { material Material { diffuseColor .48 0 .8 specularColor .5 .5 .5 emissiveColor .09 0 .15 ambientIntensity 0 } } geometry Extrusion{ crossSection [ -1 -1, -1 1, 1 1, 1 -1, -1 -1] spine [3 5 0 , 0 0 0, -3 5 0] } } • Втората и следващата точки от полето spineориентират сечението перпендикулярено на тангента (допирателната) към spine (фиг.12.8). Фиг.12.8 Тнагента на spine Виж 3D модела Фиг.12.9 Куб с промяна тнагента на spine

  14. Геометрични възли Extrusion node Пример – куб #VRML V2.0 utf8 Shape{ appearance Appearance { material Material { diffuseColor .8 .63 0 specularColor .5 .5 .5 emissiveColor .14 .11 0 ambientIntensity 0 } } geometry Extrusion{ crossSection [ -1 -1, -1 1, 1 1, 1 -1, -1 -1] spine [0 -1 0 , 0 1 0 ] orientation[0 1 0 0, 0 1 0 3.14] } } • Полето orientationопределя ориентацята на цялата фигура или на списък от ориентиращи фактори за всяка точка от spine. Виж 3D модела Фиг.12.10 Куб с промяна ориентацята (завъртане на 180 0 по ос Y)

  15. Геометрични възли Text node Синтаксис lengthопределя дължината на всеки стринг във VRML единици; maxLengthограничава, намалява всички стрингове в полето string. • Text node позволява да представите стрингове във VRML сцената. • Възела съдържа следните полета: • string съдържа текста, който трябва да бъде представен; • fontStyleопределя как да бъде представен стринга посредством FontStyle Node: FontStyle { family "SERIF" horizontal TRUE j ustify "BEGIN" language "" leftToRight TRUE size 1.0 spacing 1.0 topToBottom TRUE } • Text { • string [ ] • fontStyle NULL • length [ ] • maxExtent 0.0 • }

  16. Геометрични възли Text node Пример - текст #VRML V2.0 utf8 Shape { appearance Appearance { material Material {diffuseColor 0.8 0 0} } geometry Text { string [ "Qwerty", "Qwerty" ] length [ 3.0, 4.0 ] fontStyleFontStyle { family "SERIF" style "BOLD" } } } Фиг.12.11Текст във VRML

More Related