Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 46

Virtual Reality Modeling

Language (VRML)

Peter O’Grady

VRML - 1
VRML
 Background
 Example VRML
 Versions
 VRML language
 Creating a VRML world

VRML - 2
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 - 3
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 - 4
Using VRML

VRML
Renderer
VRML
usually browser
text file
plug-in or
*.wrl
ActiveX control

VRML - 5
VRML - 6
VRML - 7
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 - 8
VRML Versions
 1.0 Initial version. Static images.
 97 aims to be multi-user, objects
defined their behavior, “participants”
can see each other

VRML - 9
VRML Language
 VRML 97 provides these extensions
and enhancements to VRML 1.0:
– Enhanced static worlds
– Interaction
– Animation
– Scripting
– Prototyping

VRML - 10
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 - 11
VRML Working Process
 Generation of a VRML file
 Transmission of VRML file to viewer
 Viewing of VRML world
 Interacting with the VRML world

VRML - 12
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 - 13
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 - 14
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 - 15
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 - 16
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 - 17
VRML Language -Nodes
 Cylinder {
bottom TRUE
height 2
radius 1
side TRUE
top TRUE
}

VRML - 18
VRML Language -Nodes
 Cone {
bottomRadius 1
height 2
side TRUE
bottom TRUE
}

VRML - 19
VRML Language -Nodes
 Box {
size 2 2 2
}

VRML - 20
VRML Language -Nodes
 Sphere {
radius 1
}

VRML - 21
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 - 22
VRML Language -Nodes
 Transform {
children []
scale 111
translation 000
}

VRML - 23
VRML Language -Nodes
 Coordinate {
point [ ]
}

VRML - 24
VRML Language -Nodes
 Color {
color [ ]
}

VRML - 25
VRML Language -Nodes
 PointSet {
color NULL
coord NULL
}

VRML - 26
VRML Language -Nodes
 IndexedFaceSet {
color NULL
coord NULL
coordIndex []
normalIndex []
normalPerVertex TRUE
solid TRUE
}

VRML - 27
VRML Language -Nodes
 Appearance {
material NULL
texture NULL
textureTransform NULL
}

VRML - 28
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 - 29
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 - 30
Example 2 - source code
#VRML V2.0 utf8
Transform {
scale 5 5 5
children [
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.10639
0.5
0.153638
,
-0.10757

VRML - 31
Example 2 - VRML World

VRML - 32
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 - 33
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 - 34
Creating VRML Worlds - One
Proposal
Max(|| Pi ||)  
i

VRML - 35
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 - 36
Examples - See IIL Site
 Data from MRI
 Data from CT
– Lung
– Lung and tumor

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

VRML - 38
Medical Applications - Creation
of Virtual Reality Worlds from
Medical Imaging Data
 Image Segmentation
 VRML Mapping

VRML - 39
Literature on Medical Image
Segmentation
 Manually
 Automatically
 Semi-automatically
– Thresholding
– Boundary finding
– Mathematical Morphology
– Region Growing

VRML - 40
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 - 41
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 - 42
Boundary Identification (2D
Segmentation)
 Grouping Analysis
140

120

100
value of pixel

80

60

40

20

0
pixel Pr,s,t

 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 ))

VRML - 43
Case Study - Lung/Tumor

VRML - 44
Case Study - Lung/Tumor

VRML - 45
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.
VRML - 46

You might also like