Lattice-XVL A Compact and Qualified 3D Representation With Lattice Mesh and Surface For The Internet

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

XVL:

A Compact And Qualified 3D Representation


With Lattice Mesh and Surface for the Internet

Akira Wakita 1 Makoto Yajima 2 Tsuyoshi Harada 2 Hiroshi Toriya 2 Hiroaki Chiyokura 1
Keio University Lattice Technology Lattice Technology Lattice Technology Keio University

Figure 1: Lattice structure. Left model is the Lattice Mesh and right model is the corresponding Lattice Surface. Topologies of these
models have one to one correspondence.

Abstract Therefore, a compact and qualified 3D-Data representation


method is greatly required. This paper describes XVL (eXtended
Computer graphics systems and CAD/CAM systems are widely VRML with Lattice), a new framework for compact 3D-Data
used and an abundance of 3D-Data in various fields exists. representation with high quality surface shape. By utilizing a free-
However, based on the VRML technique, it is difficult to send form surface technique, qualified surfaces are transferred with a
such 3D-Data through the Internet, because of the large data size. limited amount of data size and rendered. Free-form surfaces
Transmission of practical and highly detailed 3D-Data through the transferred by an efficient data structure are called lattice structure.
Internet becomes a primary requirement. This data structure contains only vertices, topologies, and
attributes, and can be converted to the original surface. Because
the lattice structure is regarded as a polygon mesh, it can be easily
1
Graduate School of Media and Governance, Keio University. integrated to a VRML file. These surfaces and lattice have the
5322 Endo, Fujisawa, Kanagawa, 252-8520, Japan. same topology and are thus interchangeable in the lattice structure.
{wakita, chiyo}@sfc.keio.ac.jp
2
By using weighting attributes, a sophisticated surface shape can be
{yajima, harada, toriya}@lattice.co.jp represented. Some practical XVL applications, such as an intuitive
surface design system, are also introduced.

CR Categories and Subject Descriptors: I.3.7 [Three-Dimensional


Graphics and Realism]: Virtual Reality - ; I.3.6 [Computer Graphics]:
Methodology and Techniques - Graphics Data Structures and Data Types;
I.3.5 [Computational Geometry and Object Modeling]: Curve, Surface,
Solid, and Object Representations - Geometric Algorithms, Languages,
and Systems
Additional Keywords: VRML, Geometry Compression, Lattice Mesh
1. INTRODUCTION weighting properties, is transferred. Because complicated free-
VRML offers increased opportunities for the use of 3D-Data form surfaces are generated from simple Lattice Mesh, compared
through the Internet. Nevertheless, VRML is not as widely to sending polygons, transmission time of the Lattice Mesh, is
accepted as expected and few VRML applications exist. One of much faster. Based on our invertible rounding algorithm, Lattice
the biggest reasons is its data size. When we generate a realistic Mesh can be transformed into Lattice Surface and vice versa.
VRML model from CAD or computer graphics systems, and try to Using XVL, we can transfer highly qualified 3D-Data efficiently.
transfer it through the Internet, it takes an enormous amount of To manage lattice structure, we have developed a solid modeling
time. Widespread use of mid-range CAD and inexpensive CG- kernel called Lattice Kernel. By manipulating simple Lattice Mesh,
systems produced tremendous 3D-Data around the world. If we surface shape can be intuitively designed. Therefore, realistic
transfer these 3D-Data rapidly through the Internet, a new use of XVL data is easily generated using the aforementioned design
3D-Data can be yielded, i.e., 3D digital documents or 3D systems. Moreover, because XVL is represented as a solid, the
magazine. Another reason VRML is not widely accepted is that it data can be directly utilized in the CAD/CAM environment.
cannot represent sophisticated surfaces. Primitives and polygon In Section 2, the concept of the XVL data format is described
meshes used in VRML cannot represent realistic objects with and why it is compact. Section 3 presents an algorithm of
complicated surfaces. Most 3D CAD/CAM systems employ free- generating Lattice Surface and Lattice Mesh. A method to
form surfaces like NURBS, which must be converted to polygons generate various shapes by changing the weighting properties is
when its shape data is transferred as VRML. We need surface also described. Section 4 introduces some XVL based applications.
representation to popularize the use of VRML in fields like In this section, an intuitive surface design system based on the
CAD/CAM applications. Lattice Mesh is described. Practical examples of data exchange
A number of methods have been developed to compress the between CAD/CAM systems are also presented. Performance
geometry of 3D shapes. Mesh simplification technique is one of issues of the proposed framework are discussed in Section 5. This
them. Hoppe[7] has presented an algorithm for optimizing surface paper concludes with Section 6, some tasks and future works.
meshes. The main idea is to reduce the number of polygons to .
minimize energy function. Different from other mesh
simplification algorithms, Hoppe’s method can reconstruct
original shapes from simplified shapes. Lounsbery et al.[8] and
Eck et.al.[6] have developed the idea of Multiresolution Analysis.
The main idea is that any function can be decomposed to a low 2. Data Structure
resolution function and a series of components. This idea is
applied to the meshes of arbitrary topology. Taubin et. al.[9] have 2.1 Data Structure of XVL
presented the Compressed Binary Format of VRML. Polyhedron The most important properties of XVL are compact data and
data is compressed by describing two interlocking trees. Abadjev surface representation. When a polygon mesh is used to represent
et. al.[1] have developed MetaStream, a practical framework to a 3D object, to reduce data size, the resulting shape is inadequate.
deliver 3D-Data with texture data. This approach constructs 3D- To get high quality data, the data size increases tremendously. A
Data and additional information progressively. Although many free-form surface is thus used to overcome these problems
approaches have been proposed, none of them satisfies the simultaneously. Free-form surface can represent complicated
requirements of both data compactness and surface shape quality. shapes with few control points. By using free-form surface, the
This is because these methods are based on polygon meshes. amount of data decreases and more sophisticated shapes can be
Subdivision surface is another approach to generate a qualified represented with reality. We have introduced a lattice structure to
rendering image of surface shape from simple mesh. Doo and represent free-form surface efficiently. Using lattice structure
Sabin[5] and Catmull and Clark[2] have developed a fundamental makes it possible to reduce the amount of data to represent free-
theory of this technique. This method can be applied to meshes of form surface shapes and also to manipulate surface shapes
arbitrary topology. Our approach, which can generate free-form intuitively. Because lattice structure is regarded as a polygon
surfaces from the arbitrary mesh, is an extension of Doo and mesh, it can be implemented as an extension of VRML, which we
Sabin's work. DeRose et. al.[4] enhanced Catmull and Clark's call XVL.
method for the practical use of contents creation. Their method Lattice structure consists of Lattice Surface and Lattice Mesh.
can generate a variety of surface shapes by blending multiple Lattice Surface is free-form surface data represented by a Gregory
surface shapes. Subdivision surfaces are adapted to handle Patch[3]. Gregory Patch has been used to represent surfaces with
arbitrary topological meshes, which are easy to implement. This geometric continuity. Because it can be converted to NURBS,
method, however, requires successive filtering steps to generate Lattice Surface can be used in CAD/CAM systems. Figure 1
limit surface shape, thus prediction is difficult. shows Lattice structure. Left object is the Lattice Mesh and the
One of our goals is to create compact and qualified 3D-Data right object is the corresponding Lattice Surface. Lattice Mesh is a
suitable for data transmission through the Internet. To achieve this polygon mesh which has the same topology as Lattice Surface and
purpose, we propose XVL(eXtended VRML with Lattice), a has properties to reconstruct surface shape. As shown in Figure 1,
new framework of 3D-Data using lattice structure. Lattice topologies of Lattice Surface and Lattice Mesh have one to one
structure consists of Lattice Surface and Lattice Mesh. Lattice correspondence and can be interchanged.
Surface is free-form surface data represented by a Gregory
Patch[3]. Lattice Mesh is a polygon mesh which has the same
topology as Lattice Surface and has properties to reconstruct Figure 2 shows the method of migrating Lattice Mesh to VRML.
surface shape. In XVL, instead of transferring polygon mesh, Lattice Mesh can be loaded from any kind of VRML browser as
Lattice Mesh, which consists of vertices, topologies, and
polygon data. In cases where the browser supports XVL, the
polygon will be rounded, thus resulting in free-form surface shape. As shown in Figure 2, an XVL file consists of two parts, Group
node and Switch node, and combined to one Group node. The
Group node contains the information of Lattice Mesh, which is
#VRML V2.0 utf8 equivalent to polygon mesh. The Switch node contains properties
necessary to reconstruct Lattice Surface from the polygon mesh.
PROTO XVL_EDGE[ In the Switch node, the whichChoice field is set to –1 enabling
field SFFloat round_val 0 non-XVL browsers to ignore this field. Here, Lattice Mesh results
field SFVec3f round_str 0 0 0 in polygon shape on the browser. Otherwise, the browser obtains
field SFVec3f round_end 0 0 0
attribute data from the choice field in order to round the polygon.
field MFInt32 is_round [1, 1, 1]
] Also, any type of attribute data which are not supported by VRML
{ can be defined in this field (see PROTO XVL_EDGE in Fig. 2).
Text{ The simplest property of this example is version and status
string["weight of edge rounding"]
} information. The status information has two values,
} XVL_LATTICE and XVL_GREGORY. In the former case, we
display the shape with only Lattice Mesh. In the latter case, we
PROTO XVL_STATUS[ display the free-form surface shape of Lattice Surface. The next
field SFString status "XVL_LATTICE" property, which can be set to vertices and edges, is weight
]
information of the surface shape. IndexedLineSet node is used to
{
Text{ determine to which edges or vertices weight information is applied.
string["status of shape"] The same coordinate of IndexedFaceSet can be used. We describe
} only the indices in IndexedLineSet. Weight information is
} described as a scalar value and some vectors. If the property is
edge information, we describe one SFFloat field, two SfVec3f
Group{
children[
fields and one MFInt32 field. The first SFFloat field is weighting
value. The next two fields are rounding vector of the start point
## Shape information of Lattice and rounding vector of the end point. The last field describes the
Group{ flags, whether to round an edge, start point, or the end point. For
children[ example, putting a vertex in this field requires insertion of a
Shape{ weighting value and rounding flags. In the parsing stage of XVL,
geometry IndexedFaceSet{
############################
first we construct the shape of Lattice Mesh and then check its
## coordinate information ## properties. If the status information is XVL_GREGORY, Lattice
## of Lattice Mesh ## Surface is reconstructed from Lattice Mesh and weight properties
############################ of vertices and edges described here are reflected to the shape of
} the surface.
}
]
},

## Property information of Lattice


Switch{
2.2 Data Size
choice[ VRML makes it possible to transfer 3D-Data through the Internet.
XVL_STATUS{ Practical VRML data generated from a CAD/CAM system,
status "XVL_GREGORY" however, contains large amounts of polygon data tessellated from
} free-form surfaces. Thus, its data size becomes more than 10MB.
XVL_EDGE{ Because XVL can represent free-form surfaces, the amount of
round_val 0.5
round_str 0 1 1
data required to transfer the same kind of surface shape, becomes
round_end 0.2 0.3 1 much smaller. Figure 3 shows a comparison of the amount of data
is_round [1 1 1] required by XVL versus VRML. The raptor model is used for
} comparison in Figure 4. VRML consists of text data, and
IndexedLineSet{ generally supports binary data compressed by gzip. This also
coordIndex[ 24 103 ] applies to XVL. In Fig. 4, the division number for the polygon is
}
] set to 8 for comparison. The result shows XVL can represent the
whichChoice -1 better quality shape with less than 10% the amount of data of
} VRML. As a result, XVL shows the potential of expanding the
] capability of 3D-Data use through the Internet. Moreover, after
} transmitting the XVL file, the division number for the tessellation
can be freely edited to obtain required rendering quality. This
flexibility is another merit of using XVL.
Figure 2: Method of XVL. Information of Lattice Mesh is
described in Group node. Information of properties to reconstruct
Lattice Surface is described in Switch node. In the Switch node,
the whichChoice field is set to –1 enabling non-XVL browsers to
ignore this field.
Control points of Lattice Surface are calculated as a linear
transformation of vertex coordinates of Lattice Mesh as follows:

P0 = å K iVi

where P0 is an obtained coordinate, Vi is a vertex coordinate of


Lattice Mesh, and Ki is a real number.
Linear transformation generally has its inverse transformation, as
long as it is not singular. Therefore, each vertex coordinate of
Lattice Mesh V0 can be calculated by the following function:

V0 = å l j Pj

Figure 3: Comparison of data size. The division number for the


polygon is set to 8 for comparison. The result shows the amount of Here lj is also a real number. These two functions indicate that
data of XVL is less than 10% of VRML. Lattice Mesh can be reconstructed from Lattice Surface. To
generate a polygon model represented by Lattice Mesh from a
free-form surface model represented by Lattice Surface, generated
curves are replaced by straight lines. We call these two operations
rounding and inverse rounding operations.

3.2 Generation of Lattice Surface


The basic idea of rounding is the same as the subdivision surface
of Doo and Sabin[5]. Lattice Mesh and Lattice Surface correspond
to base mesh and limit surface, respectively, of the subdivision
surface. However, while the subdivision surface method requires a
number of filtering processes to generate smoothly rounded
shapes, our rounding operation generates a smooth surface model
Figure 4: Raptor model used for comparison. Left model is
directly. The following shows the precise steps of rounding.
Lattice Mesh.
Step 1
Step1 is to find the vertex coordinates not changed in subdivision
filtering.
3. Conversion between Lattice Surface Subdivide the Lattice Mesh M0 once with Doo and Sabin's
and Lattice Mesh subdivision rule and get the subdivided mesh M1. Calculate the
face points(average of each vertex coordinates of the face) P0 of
M1. These points become the vertices on Lattice Surface
3.1 Overview of Algorithm corresponding to the vertices of Lattice Mesh. This step is shown
Lattice Surface is generated according to the following steps. in Figure 5.
Step 1
Calculate the vertex coordinates of Lattice Surface corresponding Step 2
to the vertex coordinates of Lattice Mesh. Vertex coordinates can
be obtained by the linear transformation of coordinates of Lattice In this step, we generate curves corresponding to the lines C0C1 of
Mesh. Lattice Mesh. Define a vector between face point P0 and edge
point Q of M1. (Edge point meaning a midpoint of the edge.) This
Step 2 vector represents the derivative vector of the curve. Start point P0
Calculate the curves of Lattice Surface corresponding to the lines and end point P3 of the curve were calculated in Step1. Define the
of Lattice Mesh. New curves are represented as cubic Bézier inner two control points P1 and P2 of the new curve. The two
curves. Control points are also obtained by the linear control points are calculated by the following functions:
transformation of coordinates of Lattice Mesh. 4
P0 P1 = P0 Q
Step 3 3
Interpolate Gregory Patches to the region surrounded with cubic 4
Bézier curves. Topology of the Lattice Surface is the same as P3 P2 = P3 R
3
Lattice Mesh.
Now we can define a cubic Bézier curve with control points curve respectively (b). Define a Cubic Bézier curve with control
P0,P1,P2,P3. This step is shown in Figure 6. points P0,P1,P2,P3 (c).

Step 3
In the last step, using Chiyokura’s method[3], the regions
surrounded with cubic Bézier curves are interpolated by bicubic
Gregory Patches. Generated Lattice Surface has the same
topology as Lattice Mesh, as shown in Figure 1.
Rounding Weight
A wide range of surface shapes can be represented by specifying a
weighting parameter to each edge and vertex. The main idea is to
move the face points(P0 and P3) calculated in Step1. We can
move these points by changing the filter of subdivision. This
information is stored as weighting properties.

4. Applications with XVL


We have developed two applications to demonstrate the efficiency
of using XVL. These are Lattice Designer and Lattice Kernel.
Lattice Kernel is a solid modeling kernel, which is used as a base
software to develop Lattice Designer, a solid based 3D design
system.

Figure 5: Calculation of vertices on Lattice Surface. Initial Base 4.1 Lattice Designer
mesh M0(a). For each faces of M0, connect face point and edge Lattice Designer(Figure 7) is a 3D design system which offers
points(b). For each faces made in (b), calculate face points(c). intuitive user interface based on Lattice Mesh and XVL
Connect these face points and generate new Mesh M1. For each input/output. By transmitting 3D-Data with XVL, users can design
faces of M1, calculate face points P1(d). collaboratively by sharing the same model on each screen.
The realistic human body model and MTB model, shown in
Figure 8, are transferred as only 44KB and 39KB XVL data,
respectively.

Figure 7: Snapshot of Lattice Designer.

Figure 6: Calculation of control points of the curve. Define a


vector between face point P0 and edge point Q of M1 (a). P0 and
P3 calculated in Step1 become start point and end point of the
Figure 9: Modeling with Lattice Mesh. User can create free-form
surface shapes with polygon modeling-like operation.

4.3 Dynamic Feedback Modeling


Simple modification of Lattice Mesh results in an immediate
modification of Lattice Surface. This enables users to interactively
change the surface shape by a type of real-time digital clay
modeling. Figure 10 shows an example of this property.

Figure 10: Dynamic feedback modeling. Users can modify the


surface shapes with real-time digital clay modeling.

4.4 Direct Manipulation of a Surface


A direct modification of Lattice Surface is possible. Here, the
Figure 8: Human body data(44KB) and MTB data(39KB)
corresponding meshes are internally re-generated by the algorithm
described in Section 3. This enables a seamless operation of
modeling the shape either by modeling a lattice or a surface.

4.2 Surface Modeling with a Polygon Modeling- 4.5 Data Exchange with CAD/CAM Systems
like Operation Because Lattice Designer is a solid based modeling system, the
Because Lattice Surface and Lattice Mesh are closely related, the data exported from Lattice Designer can be directly used in
user can create surface shapes by manipulating Lattice Mesh. This CAD/CAM systems. Moreover, XVL can be converted to STL
indicates that the user can create free-form surface shapes with a format used in rapid prototyping (RP) systems. Generally, STL
polygon modeling-like operation. Figure 9 shows an example of files are huge, therefore XVL offers a network solution to RP
this practical modeling style. systems. Figure 11 shows a demon model made by a CAM system.
6. Conclusions and Future Works
We have presented a framework of XVL as a compact 3D-Data
format with high quality surface representation. The data structure
can be migrated to VRML to use the Internet environment.
Because XVL is based on a free-form surface, transferred XVL
data can be directly utilized in CAD/CAM systems. This enables
rapid transmission of practical data through the Internet. Lattice
structure is composed of free-form surface and simple polygon
mesh. These two data have the same topology and are
interchangeable. A wide range of surface shapes can be generated
using weighting factors. The rounding algorithm is so simple that
rapid surface generation can be accomplished. Because of the
compactness and ease of surface manipulation, XVL application
fields are vast. Now we are extending XVL to migrate X3D. XVL
Figure 11: Demon model made by CAM system. is an extension of VRML, and therefore the same extension is
easily accomplished in the framework of X3D. In order to
completely exchange CAD/CAM data with Lattice Kernel, a
4.6 Lattice Kernel future task is the support of trimmed-surface.
In short, Lattice Kernel is developed as a scalable solid modeling
toolkit transmitted in the XVL format. The application field may
vary from CAD/CAM, to amusement, to 3D browsers. This type 7. ACKNOWLEDGMENTS
of singular toolkit was virtually impossible before. However, The authors would like to thank Kazuhiro Taihei for modeling
thanks to the scalability of the Lattice Kernel, users are now able various sample data. Kunihiko Iijima, Hiroki Shibato and Seiji
to select only the required geometry and/or topology libraries of Takase for developing Lattice Designer. Souji Yamakawa for
the kernel, thus minimizing the data size of the application developing VRML toolkit.
program, as well as optimizing its function. Take a video game,
for example. An application of the Lattice Kernel can be 8. REFERENCES
extremely compact, thus high-speed, by simply using the polygon [1] V.Abadjev, M.del Rosario, A.Lebedev, A.Migdal and
module and omitting the complex surface. V.Paskhaver. MetaStream. VRML'99, 1999.
[2] E.Catmull and J.Clark. Recursively generated B-spline
surfaces on arbitrary topological meshes. Computer Aided
5. Results Design, pages 350-355, 1978.
The table below provides evidence that indicates the performance [3] H.Chiyokura and F.Kimura. Design of Solids with Free-form
of XVL for compact 3D-Data representation. Table 1 shows data Surfaces. Computer Graphics, pages 289-298, 1983.
size and processing time of XVL. The first column is the number
of polygon mesh divided by Lattice Surface with an 8-division [4] T.DeRose, M.Kass, and T.Truong. Subdivision Surfaces in
number. The second column is the data size of VRML(text). The Character Animation. Computer Graphics, 1998.
third column is the data size of XVL(text). The fourth column is [5] D.Doo and M.Sabin. Behaviour of Recurs ive Division
the time it takes to generate Lattice Surface. These data were Surfaces Near Extraordinary Points. Computer Aided Design,
obtained on a personal computer with PentiumIII 500MHz CPU. pages 356-360, 1978.
[6] M.Eck, T.DeRose, T.Duchamp, H.Hoppe, M.Lounsbery, and
Table1: Performance of XVL. W.Stuetzle. Multiresolution Analysis of Arbitrary Meshes.
Computer Graphics, pages 173-182, 1995.
Data result
[7] H.Hoppe. Progressive Meshes. Computer Graphics, pages
ply num VRML XVL surf gen (sec.) 99-108, 1996.
[8] M.Lounsbery, T.DeRose, and J.Warren. Multiresolution
hand 27126 1813KB 73KB 2.3 analysis for surfaces of arbitrary topological type. Technical
dolphi Report 93-10-05b, Department of Computer Science and
24992 1647KB 128KB 2.1 Engineering, University of Washington, January, 1994.
n
[9] G.Taubin, W.Horn, F.Lazarus, J.Rossignac, Proceedings of
raptor 68325 4343KB 343KB 3.4 the IEEE, pages 1228-1243, vol. 96, no. 6, June 1998.

You might also like