DISPLAYING 3-D MODELS AND RAYS THROUGH THE VIRTUAL REALITY MODELING LANGUAGE
Vaclav Bucha, Petr Bulant & Ludek Klimes
Utilization of the Virtual Reality Modeling Language for displaying various 3-D objects in seismology is suggested.
The Virtual Reality Modeling Language (VRML) is designed for describing sets of simple geometrical 3-D objects in Cartesian coordinates. The former version VRML 1.0 has been replaced by the VRML97 (or VRML 2.0) international standard ISO/IEC 14772-1 (1997). The language is capable of representing both static and animated 3-D and multimedia objects with hyperlinks to other media such as texts, sounds, movies, and images. The views of the objects, perceived by an observer interactively navigated in 3-D, can be displayed by various VRML browsers on various computers under various operating systems. It is thus advantageous to convert the geometrical objects of our interest (rays, wavefronts, receivers, interfaces between geological blocks, 2-D velocity sections or migrated sections embedded in 3-D, geographic information, measurement configuration, etc.) into VRML, which seems to be a powerful tool for displaying 3-D objects in seismology.
The application of the VRML may be illustrated using the current version of the SW3D software (Bucha & Klimes 1999), containing programs for conversion of points, lines and triangulated surfaces into the VRML. A single VRML file is built step by step, adding further objects by means of a further invocation of the corresponding conversion program.
The VRML file is initialized by program iniwrl.for, which specifies positions and optical properties of cameras (viewpoints), lights illuminating the objects, the colour of the background, etc., according to the input data.
Program ptswrl.for converts points (sources, receivers, points to be fit by interfaces, etc.), stored in uniform files, into VRML. Program linwrl.for does analogous conversion for lines (rays, edges of the model box, profiles, geographic information like rivers or cities, etc.) stored in other uniform files. Program srfwrl.for converts triangulated surfaces (wavefronts, interfaces between geological blocks, 2-D velocity sections embedded in 3-D, etc.) into VRML. The points, lines and surfaces are coloured according to the input data, in order to display the properties relevant to the objects.
If the structural interfaces are defined explicitly (e.g., by a regular grid of points, or by sets of triangles with coordinates of vertices given) they can directly be converted into VRML. If the interfaces are defined implicitly, being covered by parts of isosurfaces of smooth functions, it is necessary to triangulate the interfaces. The triangulation algorithm (Bulant 1999), used in the current version of the SW3D software, starts with a given 3-D regular rectangular grid. The model volume is split into gridcubes corresponding to the given grid. The intersections of structural interfaces with the gridcubes are approximated by polygons, which are formed by points located at the intersections of gridlegs with the interfaces, and at the intersections of structural edges with gridfaces. The polygons are then divided into triangles. The algorithm has also been modified to generate triangulated 2-D velocity and similar sections through the models. The resolution of the algorithm is prescribed by the given grid. Details smaller then the gridcubes may remain hidden.
The usage of VRML will be interactively demonstrated on numerical examples in various models using a VRML browser and a PC screen projector.
Bucha, V. & Klimes, L. (eds.) (1999): SW3D-CD-3. In: Seismic Waves in Complex 3-D Structures, Report 8, p. 193, "http://seis.karlov.mff.cuni.cz/software/sw3dcd3/index.htm", Dep. Geophys., Charles Univ., Prague.
Bulant. P. (1999): Triangulation of structural interfaces. In: Seismic Waves in Complex 3-D Structures, Report 8, pp. 17-26, Dep. Geophys., Charles Univ., Prague.
ISO/IEC 14772-1 (1997): VRML97. The Virtual Reality Modeling Language. The VRML Consortium, Inc., "http://www.vrml.org/Specifications/VRML97/index.html".