Javad Sadeghi [email protected]
FractVRML: A New Proposition to Extend X3D with Fractal Geometry
Iran University of Science and Technology Computer Engineering Department
Information Visualization Group
Mohsen [email protected]
ObjectiveObjective
• X3D is a XML-based markup language that is successor of VRML and we plan to make a profile for X3D with Fractal Geometry
• In this project we propose FractVRML profile that uses GeoVRML standard notation and claims that helps X3D to better support Virtual Reality
Recognizable ShapesRecognizable Shapes
1/20
All familiar shapes from Euclidean Geometry
A rectangle
A triangle
A parallelogram
Perhaps a square
Even a semicircle!
Shapes From Natural WorldShapes From Natural World
They can’t be easily described with Euclidean shapes 2/20
Fractal ConceptsFractal Concepts
Why is geometry often described as ‘cold’ or ‘dry’? One reason lies in its inability to describe the shape of a cloud, a mountain, a coastline, or a tree. Clouds are not spheres, mountains are not cones, coastlines are not circles, and bark is not smooth, nor does lightning travel in a straight line.”
Benoit Mandelbrot, the father of fractal geometry, from his book The Fractal Geometry of Nature, 1982.
• Fractus• Fractal Features
• Self Similarity• Independence of
Scale
• Fractal Dimension
3/20
Virtual Reality SystemsVirtual Reality Systems
• A 3D System• Interaction• Manipulation• Navigation
• Applications• Data Visualization• Training• Design and Modeling• Entertainment• Medical Applications• See hidden real world features• Simulate dangerous / expensive
situations 4/20
Authoring VRML WorldsAuthoring VRML Worlds
• ASCII text file : .wrl• Platform Independent• 3D Authoring tools
• Exporters (3DSMAX, Truespace, …)• World Builders (Spazz3d, Paragraph, …)• Text Editor
• VRML Plug-Ins• CosmoPlayer (SGI)• WorldView (Intervista)• Live 3D (Netscape)• Cortona (Parallel Graphics)• Contact (Blaxxun Interactive)
5/20
Applications of Fractals in VRApplications of Fractals in VR
• 3D Visualization• Scene Graph Arc.• Artificial Life• PseudoFractal
• JavaScript
• LOD• LevelOfDetail
Tree.wrl
6/20
X3D (Extensible 3D)X3D (Extensible 3D)
• The next generation Open Web3D standard• X3D will replace VRML 97 when approved as at ISO
• Concerted action by key VRML browser companies • Blaxxun, Nexternet, OpenWorlds, ParallelGraphics
• State-of-the-art Extensible Architecture• Enables small core plus flexibility to meet diverse market needs
• Provides full compatibility with VRML 97• Protecting existing content
• A key influencer on other industry standards• MPEG-4, XML
7/20
ProfilesProfiles
• Interchange• Geometry, Texture, and Animation
• Interactive• Interactive User Controls
• Extensible• Interactive + Script node/PROTOs/SAI
• Base• Full 3D Experience
• Full• Everything
8/20
3D Fractals3D Fractals
• Quaternion Arithmetic• A + i B + j C + k D
• i2 = j2 = k2 = -1• ij = -ji = k• jk = - kj= i• ki = -ik = j
• HyperComplex Numbers• 3D IFS• Pov-Ray
11/20
12/20
Fractal Visualization SystemsFractal Visualization Systems
• Escape-Time Landscapes (ETL)• Roving Riemann Spheres (RRS)
Data StructureData Structure
• FractMetadata• FractOrigin• FractCoordinate• FractLOD• FractPositionInterpolator• FractTouchSensor • FractViewpoint • FractElevationGrid
• 8 new nodes added to X3D:
• information about the fractal data• translates fractal coordinates for view• build geometry using fractal coords• multi-resolution terrain level of detail• animate objects with fractal coords• query geometry for its fractal location• specify viewpoint in fractal coords• define height field in fractal coords
13/20
FractLOD : X3DGroupingNode { MFNode [in] addChildren [X3DSwitchNode] MFNode [in] removeChildren [X3DSwitchNode] MFNode [out] children [] [X3DSwitchNode] SFVec3d [] center 0 0 0 (-∞,∞) MFString [] child1Url [] [urn] MFString [] child2Url [] [urn] MFString [] child3Url [] [urn] MFString [] child4Url [] [urn] SFNode [] fractOrigin NULL [FractOrigin] MFString [] fractSystem "" [see table] SFFloat [] range 10 [0,∞) MFString [] rootUrl [] [urn] MFNode [] rootNode [] [X3DChildNode] SFVec3f [] bboxCenter 0 0 0 (-∞,∞) SFVec3f [] bboxSize -1 -1 -1 (0,∞) or [-1 -1 -1]}
Example: FractLODExample: FractLOD
• Provide scalability features through the FractLOD node.
• FractLOD provides quadtree based level of detail
• Supports BSP tree
14/20
Fractal NodesFractal Nodes
• FractMountain • FractRiver• FractIsland • FractCloud • FractPlant • FractLightning • FractCrystal • FractMusic
15/20
• 8 new nodes added to X3D:
Example: FractLightningExample: FractLightning
FractLightning : X3DParametricGeometryNode { SFVec3f [in,out] direction 0 0 -1 (-∞,∞) MFVec3f [in,out] controlPoint [] (-∞,∞) SFInt32 [in,out] tessellation 0 (-∞,∞) MFDouble [in,out] weight [] (0,∞) SFNode [in,out] color NULL SFNode [in,out] texCoord NULL MFDouble [] knot [] (-∞,∞) SFInt32 [] order 3 [2,∞) SFBool [] solid TRUE SFNode [] fractOrigin NULL [FractOrigin] MFVec3d [] fractCoords 0 0 0 (-∞,∞) MFString [] fractSystem "" [see table] } 16/20
• Modeling the lightning discharge • Intra-cloud lightning (horizontal
discharge)• Cloud-to-ground lightning (vertical
discharge)• Power density
Extensibility – Key EnablerExtensibility – Key Enabler
• Provides delivery platform for Working Group efforts• WGs can deliver FractVRML Components
• Companies can deploy their technologies based on it• No limit to the applications that can be addressed with it
Core X3DKernel
ExtensionFramework
VRML97Profile
Full VRML97 backwards compatibility
Small download, cool content, advanced rendering
FractVRML
17/20
ConclusionConclusion
• Using Complex Coordinate• Using 3D Representation of Fractals• Using XML Tagset• FractVRML Scenes
• More Real Aspect• More Resolution• Little Size
• Formulation of World
www.FractVRML.orgwww.FractVRML.org18/20
Future WorkFuture Work
• Implementation and standardization of proposed profile• Using Fractal Compression in X3D Scenes• Application of FractVRML to GeoVRML• Design of a collaborative and distributed environment in support of
real-time activities• Modeling of Internet3D with FractVRML
19/20
Top Related