vrml - 1 virtual reality modeling language (vrml) peter o’grady
TRANSCRIPT
VRML - 1
Virtual Reality Modeling
Language (VRML)
Peter O’Grady
VRML - 2
VRML
Background Example VRML Versions VRML language Creating a VRML world
VRML - 3
VRML - Background
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.
VRML - 4
VRML - Background (2) 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.
VRML - 5
Using VRML
VRMLtext file
*.wrl
VRMLRenderer
usually browser plug-in or
ActiveX control
VRML - 6
VRML - 7
VRML - 8
VRML - History 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
VRML - 9
VRML Versions 1.0 Initial version. Static images. 97 aims to be multi-user, objects
defined their behavior, “participants” can see each other
VRML - 10
VRML Language
VRML 97 provides these extensions and enhancements to VRML 1.0:– Enhanced static worlds – Interaction – Animation – Scripting – Prototyping
VRML - 11
VRML Language 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 V2.0 utf8
Scene graphs consist of “nodes” Each node has attributes See example on web site
VRML - 12
VRML Working Process
Generation of a VRML file Transmission of VRML file to viewer Viewing of VRML world Interacting with the VRML world
VRML - 13
The Structure of VRML 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 3D graphics
Nodes are arranged in hierarchical structures called scene graphs, which define an ordering for the nodes.
VRML - 14
The Structure of VRML This was originally based on the Open
Inventor 3D toolkit developed by SGI, for VRML 1.0.
The scene graph represents such aspects of a 3D world as geometry, materials, textures, geometric transformations, lights, viewpoints, and nesting structures.
VRML - 15
Characteristics of a Node
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.
VRML - 16
Enhancement of VRML VRML 97 adds five constructs to VRML
1.0 that can significantly improve a 3D 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 JavaScript or Java programs.
VRML - 17
Enhancement of VRML
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.
VRML - 18
VRML Language -Nodes Cylinder {
bottom TRUE
height 2
radius 1
side TRUE
top TRUE
}
VRML - 19
VRML Language -Nodes Cone {
bottomRadius 1
height 2
side TRUE
bottom TRUE
}
VRML - 20
VRML Language -Nodes Box {
size 2 2 2
}
VRML - 21
VRML Language -Nodes
Sphere { radius 1}
VRML - 22
Coordinate Systems and Transformations
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.
VRML - 23
VRML Language -Nodes
Transform { children [ ]
scale 1 1 1
translation 0 0 0
}
VRML - 24
VRML Language -Nodes Coordinate {
point [ ]
}
VRML - 25
VRML Language -Nodes
Color {
color [ ]
}
VRML - 26
VRML Language -Nodes
PointSet { color NULL coord NULL}
VRML - 27
VRML Language -Nodes IndexedFaceSet {
color NULL
coord NULL
coordIndex [ ]
normalIndex [ ]
normalPerVertex TRUE
solid TRUE
}
VRML - 28
VRML Language -Nodes
Appearance { material NULL
texture NULL
textureTransform NULL
}
VRML - 29
VRML Language Material - with attributes such as diffuseColor,
and shininess diffuseColor 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
VRML - 30
Example 1 - source code#VRML V2.0 utf8
DEF Machine3 Transform { translation 2 0 0 rotation 0 1 0 0 children [ Shape { geometry Box { size 6 10 6 } appearance Appearance { material Material { diffuseColor 0.2 0 0.8 } }
VRML - 31
Example 2 - source code#VRML V2.0 utf8Transform {
scale 5 5 5children [
Shape {appearance Appearance {material Material {
ambientIntensity 0.8 diffuseColor 1 0 0 emissiveColor 1 0 0 #shininess 1 specularColor 0 0 0 transparency 0 }
}
geometry IndexedFaceSet {coord Coordinate { point
[-0.106390.50.153638,-0.10757
VRML - 32
Example 2 - VRML World
VRML - 33
Creating VRML Worlds
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.
VRML - 34
Creating VRML Worlds
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.
VRML - 35
Creating VRML Worlds - One Proposal
Maxi
iP(||||)
VRML - 36
Working With VRML 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.
VRML - 37
Examples - See IIL Site Data from MRI Data from CT
– Lung– Lung and tumor
VRML - 38
VRML and Medical Applications
Visualization over WWW Need advanced methods to map from
data to VRML. Acceleration
– 3D boards– Better software
VRML - 39
Medical Applications - Creation of Virtual Reality Worlds from Medical Imaging Data
Image Segmentation VRML Mapping
VRML - 40
Literature on Medical Image Segmentation
Manually Automatically Semi-automatically
– Thresholding– Boundary finding– Mathematical Morphology– Region Growing
VRML - 41
Literature on Medical Image Segmentation
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.
VRML - 42
Literature on Medical Image Segmentation
Two Dimensional (2D) images require that the physician mentally determine 3D images from 2D slices, and this is difficult and error prone.
The fundamental problems with current approaches to 3D display of scans are that they are not interactive once reported.
VRML - 43
Boundary Identification (2D Segmentation)
Grouping Analysis
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 ))
0
20
40
60
80
100
120
140
pixel
valu
e o
f p
ixel
Pr,s,t
VRML - 44
Case Study - Lung/Tumor
VRML - 45
Case Study - Lung/Tumor
VRML - 46
Other Considerations Variety of VRML browsers available. Netscape uses Cosmo player (from SGI,
CA) for VRML Microsoft new browser with IE 4 For Windows 9x, Direct3D has been defined. 3D Boards now have Direct3D drivers Need to have VRML browser with Direct3D
support.