سند علمی

Web Visualization of Function-Defined Shapes

چکیده

This paper describes how function-based shape modeling can be expanded to web visualization, as well as how web-based visualization can be greatly improved by using the function-based shape modeling technique. We have proposed a function-defined VRML shape node, which allows the content creators to describe any complex models with relatively small functions compared to the large-size polygonal mesh models. These function-defined shapes can be used together with the common VRML shapes. The design, the implementation details, and the application examples of the proposed node are discussed. 1 Function-Based Shape Modeling Dramatic advances in computer technology have driven up the methods and tools of interactive 3D shape modeling where the unique geometric reasoning of the human brain couples with the rapid computing and rendering abilities of the computer. Some geometric models, which existed rather theoretically just a few years ago, now revolutionize the ways of shape representation and rendering. Thus, there can be noticed a trend toward function-based shape modeling. The idea of function-based approach to shape modeling is that complex geometric shapes can be produced from a "small formula" rather than thousands of polygons. Usually, parametric or implicit functions and their modifications are used to define the shapes. For rendering such function-defined shapes, either ray tracing or polygonization followed by fast polygon rendering is used. Alternatively, the functiondefined shapes can be voxelized and rendered as a set of points. It must be mentioned, though, that function-defined shapes may sometimes suffer a serious problem, which is large time needed for evaluation of the defining functions. Nevertheless, many works have been done in the direction of accelerating the function evaluation when performing rendering. In the next sections, we overview the existing web visualization projects, justify the usefulness of the function-based modeling in web visualization, and propose our own solution to function-based web visualization. This work is a continuation of the project briefly described in [1]. V. Kumar et al. (Eds.): ICCSA 2003, LNCS 2669, pp. 428-437, 2003.  Springer-Verlag Berlin Heidelberg 2003 Web Visualization of Function-Defined Shapes 429 2 Web-Based Visualization A variety of web-based visualization systems have been developed. Progressive reconstruction and isosurface transmission suggested by Engel et al. [2][3] aimed to reduce the amount of data to be reconstructed and transmitted during visualization. Seidel et al. [4] have presented a framework to acquire high quality 3D models of real world objects including both geometry and appearance information presented by textures, bump maps or bi-directional reflectance distribution function used to describe the way a surface reflects light. Fogel et al. [5] have proposed a web architecture for progressive delivery of 3D content, which is based on a progressive compression representation integrated into X3D framework. Taubin et al. [6] have proposed another popular approach to delivering a 3D content over the Internet within a reasonable time, besides introducing a new adaptive refinement scheme [7] for storing and transmitting the triangular meshes in progressive and highly compressed form. Pajarola and Rossignac [8] have proposed a compressed progressive meshes approach, which used a new technique to refine the topology of the mesh in batches. Among these services, the polygon mesh representation is commonly used for representing geometric shapes. Thus, the most popular 3D web content format Virtual Reality Modeling Language (VRML) [9] uses this representation for complex objects. To improve the performance of VRML and to enrich its content, various VRML extensions have been implemented. For example, Alexa et al. [10] have suggested the Morph node that helps to interpolate between several shapes. Another example is customized GeoVRML [11] node, which is defined to provide a suite of solutions for representing and visualizing geographic data using a standard VRML97 browser. Wyvil and Guy [12] have introduced a new VRML extension for skeletal implicit surfaces with a limited set of operations like blending, warping and Boolean operations. Besides that, Pittet et al. [13] have proposed a new real-time Isosurfacing node, which is based on the so-called Marching Cubes algorithm [14] and allows real time rendering of an isosurface from 3D source data. Grahn et al. [15] have introduced trimmed NURBS in VRML to allow visualization of complex CAD models in VRML. Ginis and Nadeau [16] have presented new VRML extensions for scientific visualizations. 3 FShape Node for VRML In this project, a generic function-based FShape node for VRML is proposed as a plug-in to VRML browsers. The idea of introducing such a node is to replace large polygonal representations of complex shapes with small formulae, which will be transmitted through the Internet much faster and therefore will improve the efficiency of web visualization. Besides that, these function-based shape models have an unlimited level of detail. The FShape node is designed in such a way that it offers a generic infrastructure to support various function-defined models to be plugged-in during runtime. This can be achieved if the respective parsing and polygonization modules are implemented according to the defined plug-in interface. With this node, the content publishers can 430 A. Sourin, L.F. Min, and K. Levinski present any proprietary function-defined model to the viewers since they can develop the respective parsing and polygonizing modules. In general, a VRML node can be implemented either via plug-in customization or through VRML EAI interface [17]. For plug-in customization, the overall performance of the extended node will be much better than the other one, since the module is implemented with a low level programming language. The performance improvement becomes obvious when it involves complex geometric models, which may require long computations and algorithm evaluations. Although the plug-in customization may closely tie the node extension with the supported VRML browser plug-ins, the overall performance may need to be considered first if the node extension involves heavy computation processes. Another possible approach to implementation of the extension is via a VRML Script node and its EAI interface. The implementation using JavaScript or Java may allow extension across different browsers, however this approach may have a serious performance setback. The polygonization implemented using JavaScript language will only be interpreted when it is about to be executed. Therefore, the function models represented using a script language will always need more time to get executed as compared with the precompiled modules. As overall performance is very important in the context of web visualization, the proposed FShape node is VRML browser plug-in dependent, in which the VRML extension is implemented via customizing a VRML browser plug-in. The proposed function-based geometric node could be extended via different browser plug-ins, e.g. Blaxxun Contact 3D [18], OpenVRML [19], FreeWRL [20], and other customizable browsers. In order to prove the concept proposed in this paper, we have extended Blaxxun Contact 3D to support FShape node. With the extension, viewers are able to visualize function-based objects in VRML paradigm. The extension of other VRML browsers can be done in a similar way, and we are working on it. The proposed FShape node definition is listed in Figure 1. The visualization pipeline in FShape node is categorized into three main modules: Seeker, Parser and Polygonizer components. The Seeker component is used to obtain any type of function definition, which is either located inline with the VRML source or is remotely located at the content server. The inline source will always have higher precedence than the external source. The Seeker component will be triggered first whenever the scene graph traversal engine encounters the FShape node. As data seeking is independent from any function-based shape modeling approach, the Seeker component is embedded as part of the core module. In order to allow for future extension of the Parser component in runtime, the component is dynamically loaded into the FShape core module. The component is dependent on the data used to describe the model. For every supported function based model, the respective Parser module is to be developed separately with a set of standard function calls. The Parser component is to be created as a dynamic linked library and stored into the relative Parser directory of the core module Like the Parser component, the Polygonizer component is dependent on the chosen function language/model used to describe the shape. For every supported functionbased model, the respective Polygonizer component is to be developed and a set of standard function calls must be supported. The Polygonizer component is to be creWeb Visualization of Function-Defined Shapes 431 ated as a dynamic linked library and stored into the relative Polygonizer directory of the core module. FShape { exposedField SFString sourceString “” # contains the definition of a function-defined shape. exposedField SFString sourceURL “” # alternatively, defines the path to the model source file. exposedField SFString objectName “my_model” # specifies the model name for a function-defined shape. field SFString sourceType “” # identifies the type of the model referred in the scene. field SFBool ccw TRUE # specifies the order of points in a face created by Polygonizer field SFBool convex TRUE # specifies if the faces created by Polygonizer are convex or not. field SFFloat creaseAngle 0 # specifies an angle threshold. field SFBool normalPerVertex TRUE # specifies whether the normal of each vertex is computed. field SFBool solid TRUE # determines whether to draw both sides of a face or just the front side. field SFBool reduce FALSE # defines whether to produce the least number of polygons. field SFBool searchVertex FALSE # turns on recursive searching for vertex positions. field SFFloat searchPer 0.1 # specifies the search accuracy in percentage of cell lengths. field MFFloat modelPar 0.0 # specifies model-specific parameters if any. field MFInt32 gridSize 30 # specifies the rendering resolution used in polygonization. field MFFloat boundingBoxMax 10 # specifies the bounding box for the shape. } Fig. 1. FShape node definition with default values. 4 Support for Implicit Functions and the F-Rep Model In order to support any proprietary function-defined models in FShape node, one has to develop respective Parser and Polygonizer components based on the predefined plug-in interfaces. Developing a Parser depends on the model and/or language used, while developing a Polygonizer depends only on the model. To illustrate the proposed design and to prove the correctness of our assumptions, we shall describe in this section just two of the developed plug-ins. These are the FShape node plug-ins for shapes defined with implicit functions and the function representation model named F-Rep [21, 22], as well as the F-Rep based geometric high-level language HyperFun [23]. 432 A. Sourin, L.F. Min, and K. Levinski The F-Rep, being an extension of implicit functions, assumes that geometric shapes are defined with an inequality f(x,y,z) ≥ 0, where the real function f is positive for the points inside the shape, equal to zero on its border and negative outside it. The F-Rep functions can be defined either analytically, or procedurally with a function evaluation algorithm. Different operations can then be applied to the F-Rep geometric models. In fact, any operation that can be defined with a function f(x,y,z) ≥ 0, which provides at least C continuity, may be used for making a shape. All the functions are applied as function superpositions thus allowing one to create sophisticated hierarchically organized shapes, which are in turn function-defined shapes. F-Rep allows one to use together practically any geometric models since this representation is very generic and highly extensible. When using F-Rep models developed elsewhere and stored in a proprietary data format, the respective Parser module is a rather simple procedure. It just reads the function model from the data file and makes it available for the Polygonizer. For testing purposes, we used our own F-Rep models developed in the project Interactive Function-based Shape Modeling [24], [25] and [26]. To facilitate the inclusion of any proprietary function-defined model, we developed a generic Polygonizer, which works efficiently for a large range of implicitly defined and F-Rep defined shapes. The algorithm, described in details in [25] and [27], is an extension and improvement of the so-called continuation algorithm, which calculates polygons only on the surface of the shape. Since its description is beyond the scope of this paper, we refer the reader to the printed papers for the details. The FShape node will dynamically load the corresponding Parser and Polygonizer components based on the string value stored in sourceType field. The plug-in polygonizer supports several level of detail (LOD) depending on the distance between the observer and the shape. The LOD switching is to be done outside the FShape node acting like a group node. The example of a VRML source code that links to this proprietary function model is shown in Figure 2. In this code, the model is encoded to ASCII using base64 format and used inline. The examples of using such functiondefined shapes in VRML scenes are presented in Figure 3. #VRML V2.0 utf8 EXTERNPROTO FShape [...] geometry DEF vase-FACES FShape { sourceString "AQAAAAEAAABFAAAABwAAADDFFGGHJJHJKL..." sourceType "tetrapoly" gridSize 24 ccw FALSE } Fig. 2. VRML source code for the proprietary F-Rep shape model used inline. Since the Polygonizer was developed for a large class of models, in order to use any other implicitly or F-Rep defined models, only the respective Parser procedure is to be written. It just should be able to evaluate the shape defining function f(x,y,z) ≥ 0 for any given coordinates. The examples of such an implementation can be found in [28]. Web Visualization of Function-Defined Shapes 433

اسناد مشابه

  • Function-defined shape node for VRML

    سند علمی۲۰۰۲F. M. Lai, A. Sourin

    This paper describes how the web-based visualisation can be greatly improved using the function-based shape modelling technique. We propose the function-defined VRML shape node, which allows the content creators to describe any complex models with relatively small functions compa

  • Connecting Points by Smooth Connection Functions Defines Shapes in the Smoothest Possible Way

    سند علمی۲۰۱۱SHAPESAlex Alon, Sven Bergmann

    We consider the basic challenge of drawing a smooth curve through a list of ordered points in a plane. This is similar to the kids’ game known as ”join-the-dots”, which usually results in some kind of shape. Requiring that not only the curve but also its slope is continuous at ea

  • Evolutionary Optimization of Functionally Defined Shapes: Case Study of Natural Optical Objects

    سند علمی۱۹۹۹Computer Graphics InternationalVladimir V. Savchenko, Alexander A. Pasko

    This paper focuses on an approach to modeling shapes through the use of evolutionary optimization or genetic algorithms for functionally represented geometric objects. This representation allows us to take into account non-manifold geometry and material distribution inside natura

  • Web Visualization of the Function-defined Virtual Worlds

    سند علمی۲۰۰۲Lai Feng Min, Alexei Sourin, Konstantin Levinski

    This paper describes how the web visualization can be greatly improved using the function-based shape modeling technique. The improvement is possible because the proposed function-defined VRML shape node allows the content creators to describe any complex models with relatively s

  • Function-Based 3D Web Visualization

    سند علمی۲۰۰۲CWLai Feng Min, Alexei Sourin, Konstantin Levinski

    This paper describes how the web-based visualization can be greatly improved using the function-based shape modeling technique. The improvement is possible because the proposed function-defined VRML shape node allows the content creators to describe any complex models with relati

  • Tactile-visual cross-modal shape matching: a functional MRI study.

    سند علمی۲۰۰۳Brain research. Cognitive brain researchDaisuke N Saito, Tomohisa Okada, Yusuke Morita, Yoshiharu Yonekura

    The process and location of integration of information from different sensory modalities remains controversial. We used functional MRI to investigate the neural representation of cross-modal matching between tactile and visual shape information in eleven normal volunteers. During