Virtual Reality Modeling Language VRML Peter OGrady VRML

  • Slides: 46
Download presentation
Virtual Reality Modeling Language (VRML) Peter O’Grady VRML - 1

Virtual Reality Modeling Language (VRML) Peter O’Grady VRML - 1

VRML n n n Background Example VRML Versions VRML language Creating a VRML world

VRML n n n Background Example VRML Versions VRML language Creating a VRML world 2

VRML - Background n n n Sometimes pronounced “vermel”. A language for building 3

VRML - Background n n n Sometimes pronounced “vermel”. A language for building 3 -D worlds on the WWW. Use a VRML browser to walk around virtual world. Browser downloads file containing description of world (in VRML format). Browser interprets scene descriptions and renders the resulting image. 3

VRML - Background (2) n n n Manipulation is performed on client (host) computer.

VRML - Background (2) n n n Manipulation is performed on client (host) computer. Use of 3 -D cards can speed performance. Rendering performed through lens of a virtual camera. Can move, twist and twirl. Can alter lighting. 4

Using VRML text file *. wrl VRML Renderer usually browser plug-in or Active. X

Using VRML text file *. wrl VRML Renderer usually browser plug-in or Active. X control 5

6

6

7

7

VRML - History n n n WWW conference in March 1994 - basic requirements

VRML - History n n n WWW conference in March 1994 - basic requirements defined. WWW conference October 1994 - draft specification of VRML 1. 0 presented. Used language from a 3 -D modeler Version 1. 0 introduced April 1995. Version 97 now available and in use 8

VRML Versions n n 1. 0 Initial version. Static images. 97 aims to be

VRML Versions n n 1. 0 Initial version. Static images. 97 aims to be multi-user, objects defined their behavior, “participants” can see each other 9

VRML Language n VRML 97 provides these extensions and enhancements to VRML 1. 0:

VRML Language n VRML 97 provides these extensions and enhancements to VRML 1. 0: – – – Enhanced static worlds Interaction Animation Scripting Prototyping 10

VRML Language n n n Script-like language in ASCII text Given extension. wrl For

VRML Language n n n Script-like language in ASCII text Given extension. wrl For easy identification of VRML files, every VRML 97 file must begin with the characters: #VRML V 2. 0 utf 8 n n n Scene graphs consist of “nodes” Each node has attributes See example on web site 11

VRML Working Process n n Generation of a VRML file Transmission of VRML file

VRML Working Process n n Generation of a VRML file Transmission of VRML file to viewer Viewing of VRML world Interacting with the VRML world 12

The Structure of VRML n n n VRML can be viewed at a high

The Structure of VRML n n n VRML can be viewed at a high level of abstraction as a collection of objects which are called nodes. These objects, or nodes, are defined for 3 D graphics Nodes are arranged in hierarchical structures called scene graphs, which define an ordering for the nodes. 13

The Structure of VRML n n This was originally based on the Open Inventor

The Structure of VRML n n This was originally based on the Open Inventor 3 D toolkit developed by SGI, for VRML 1. 0. The scene graph represents such aspects of a 3 D world as geometry, materials, textures, geometric transformations, lights, viewpoints, and nesting structures. 14

Characteristics of a Node n n A node might be a cube, a sphere,

Characteristics of a Node n n A node might be a cube, a sphere, a texture map, a transformation, etc. The node has parameters that distinguish the node from other nodes of the same type. The node has a name. The node can be part of a hierarchy. 15

Enhancement of VRML n n n VRML 97 adds five constructs to VRML 1.

Enhancement of VRML n n n VRML 97 adds five constructs to VRML 1. 0 that can significantly improve a 3 D world. Four of these (namely node event field, routes, sensors, interpolators) connect and control animations, actions and reactions. The fifth (script nodes) allows for the interface with Java. Script or Java programs. 16

Enhancement of VRML n In addition, VRML 97 allows for video images (in MPEG

Enhancement of VRML n In addition, VRML 97 allows for video images (in MPEG format) to be mapped to a surface, collision detection, fog, text that always points to the user, contoured terrains, and texture mapped backgrounds. 17

VRML Language -Nodes n Cylinder { bottom TRUE height 2 radius 1 side TRUE

VRML Language -Nodes n Cylinder { bottom TRUE height 2 radius 1 side TRUE top TRUE } 18

VRML Language -Nodes n Cone { bottom. Radius 1 height 2 side TRUE bottom

VRML Language -Nodes n Cone { bottom. Radius 1 height 2 side TRUE bottom TRUE } 19

VRML Language -Nodes n Box { size 2 2 2 } 20

VRML Language -Nodes n Box { size 2 2 2 } 20

VRML Language -Nodes n Sphere { radius 1 } 21

VRML Language -Nodes n Sphere { radius 1 } 21

Coordinate Systems and Transformations n n VRML uses a Cartesian, right-handed, 3 -dimensional coordinate

Coordinate Systems and Transformations n n VRML uses a Cartesian, right-handed, 3 -dimensional coordinate system. By default, objects are projected onto a 2 -dimensional display device by projecting them in the direction of the positive Z-axis, with the positive X-axis to the right and the positive Y-axis up. 22

VRML Language -Nodes n Transform { children scale translation [] 111 000 } 23

VRML Language -Nodes n Transform { children scale translation [] 111 000 } 23

VRML Language -Nodes n Coordinate { point [ ] } 24

VRML Language -Nodes n Coordinate { point [ ] } 24

VRML Language -Nodes n Color { color [ ] } 25

VRML Language -Nodes n Color { color [ ] } 25

VRML Language -Nodes n Point. Set { color NULL coord NULL } 26

VRML Language -Nodes n Point. Set { color NULL coord NULL } 26

VRML Language -Nodes n Indexed. Face. Set { color NULL coord. Index [] normal.

VRML Language -Nodes n Indexed. Face. Set { color NULL coord. Index [] normal. Per. Vertex TRUE solid TRUE } 27

VRML Language -Nodes n Appearance { material NULL texture. Transform NULL } 28

VRML Language -Nodes n Appearance { material NULL texture. Transform NULL } 28

VRML Language n n n Material - with attributes such as diffuse. Color, and

VRML Language n n n Material - with attributes such as diffuse. Color, and shininess diffuse. Color 0 0 0 is black, 1 1 1 is white shininess 1. 0 is highly reflective Translation - to specify position of object Level of Detail (LOD) nodes allow varying level of detail with distance WWWAnchor creates link to another VRML world 29

Example 1 - source code #VRML V 2. 0 utf 8 DEF Machine 3

Example 1 - source code #VRML V 2. 0 utf 8 DEF Machine 3 Transform { translation 2 0 0 rotation 0 1 0 0 children [ Shape { geometry Box { size 6 10 6 } appearance Appearance { material Material { diffuse. Color 0. 2 0 0. 8 } } 30

Example 2 - source code 31

Example 2 - source code 31

Example 2 - VRML World 32

Example 2 - VRML World 32

Creating VRML Worlds n n Free formed surfaces, such as that arising from imaging,

Creating VRML Worlds n n Free formed surfaces, such as that arising from imaging, are not included in the VRML specification. Therefore, a set of polygons should approximate to a free-formed surface or curve. 33

Creating VRML Worlds n n For the purpose of rendering and shading the created

Creating VRML Worlds n n For the purpose of rendering and shading the created polygons, their normal vectors are calculated and given to the respective polygons. Suppose that the surface is an imaging object. Then, the surface is translated into a VRML file format. 34

Creating VRML Worlds - One Proposal 35

Creating VRML Worlds - One Proposal 35

Working With VRML n n n Native code Converters Software that produces VRML code

Working With VRML n n n Native code Converters Software that produces VRML code Can be large files - problem is to make the code efficient IIL work gives about 100: 1 reduction from original data set. 36

Examples - See IIL Site n n Data from MRI Data from CT –

Examples - See IIL Site n n Data from MRI Data from CT – Lung and tumor 37

VRML and Medical Applications n n n Visualization over WWW Need advanced methods to

VRML and Medical Applications n n n Visualization over WWW Need advanced methods to map from data to VRML. Acceleration – 3 D boards – Better software 38

Medical Applications - Creation of Virtual Reality Worlds from Medical Imaging Data n n

Medical Applications - Creation of Virtual Reality Worlds from Medical Imaging Data n n Image Segmentation VRML Mapping 39

Literature on Medical Image Segmentation n Manually Automatically Semi-automatically – Thresholding – Boundary finding

Literature on Medical Image Segmentation n Manually Automatically Semi-automatically – Thresholding – Boundary finding – Mathematical Morphology – Region Growing 40

Literature on Medical Image Segmentation n n Segmentation is a challenging task, especially considering

Literature on Medical Image Segmentation n n Segmentation is a challenging task, especially considering an organ like the lung. Much of the work on lung segmentation has involved manual segmentation (Naidich et al, 1993) but this involves considerable labor and can be prone to bias. 41

Literature on Medical Image Segmentation n n Two Dimensional (2 D) images require that

Literature on Medical Image Segmentation n n Two Dimensional (2 D) images require that the physician mentally determine 3 D images from 2 D slices, and this is difficult and error prone. The fundamental problems with current approaches to 3 D display of scans are that they are not interactive once reported. 42

Boundary Identification (2 D Segmentation) n Grouping Analysis n Vx(Px, y, z) = ABS((MEAN

Boundary Identification (2 D Segmentation) n Grouping Analysis n Vx(Px, y, z) = ABS((MEAN (Px-p, y, z , …. Px-2, y, z , Px-1, y, z )MEAN (Px+1, y, z , Px+2, y, z , …Px+p, y, z )) 43

Case Study - Lung/Tumor 44

Case Study - Lung/Tumor 44

Case Study - Lung/Tumor 45

Case Study - Lung/Tumor 45

Other Considerations n n n Variety of VRML browsers available. Netscape uses Cosmo player

Other Considerations n n n Variety of VRML browsers available. Netscape uses Cosmo player (from SGI, CA) for VRML Microsoft new browser with IE 4 For Windows 9 x, Direct 3 D has been defined. 3 D Boards now have Direct 3 D drivers Need to have VRML browser with Direct 3 D support. 46