477 Self-interction Removal in Triangular Mesh Offtting
Wonhyung Jung1, Hayong Shin 2 and Byoung K. Choi 3
1Korea Advanced Institute of Science and Technology, jcircle@vmslab.kaist.ac.kr
2 Korea Advanced Institute of Science and Technology, hyshin@kaist.ac.kr
3 Korea Advanced Institute of Science and Technology, bkchoi@vmslab.kaist.ac.kr
ABSTRACT
Propod in this paper is an efficient algorithm to remove lf-interctions from the raw offt triangular mesh. The resulting regular mesh can be ud in shape inflation, tool path generation,
and process planning to name a few. Objective is to find the valid region - t of triangles defining
the outer boundary of the offt volume from the raw offt triangular mesh. Starting with a ed triangle, the algorithm grows the valid region to neighboring triangles until it reaches triangles with
lf-interction. Then the region growing process cross over the lf-interction and moves to
the adjacent valid triangle. Therefore the region growing travers valid triangles and intercting triangles adjacent to valid triangles only. This property makes the algorithm efficient and robust,
since this method omits unnecessary traversing invalid region, which usually has very complex geometric shape and contains many meaningless lf-interctions.
Keywords: regularization, regular triangular mesh, offt, lf-interction
1. INTRODUCTION
While NURBS is de facto standard for exact curve and surface, triangular mesh (T-mesh for short) is probably the most popular choice for approximate shape reprentation in many engineering applications including FE analysis, tool path generation, and rever engineering, as well as computer graphics and geographical information system. It is often required to offt a T-mesh, which consists of two major steps: (1) raw offtting, and (2) regularization. Raw offtting is to obtain a T-mesh apart from the original mesh by the given distance, and the resulting mesh may have degenerate triangles and/or lf-interctions. Regularization is the step to remove tho abnormalities. Then, we obtain a regular T-mesh which is a 2-manifold triangular mesh free from degenerate triangles and lf-interctions (See Fig. 1).
Computing offt model of a shape reprented by a T-mesh can be ud for tool path generation and process planning of a sculptured surface such as mold & die (Choi et al. [2]).
Boolean operation between T-meshes (Cardan et al. [1]) is very similar to T-mesh regularization in that it finds interctions between T-meshes and lectively collects portions as specified by the Boolean operator. Hence the algorithm described in this paper can be applied to Boolean operation between T-meshes. The main distinction is that the triangle t in Boolean operation problem is already parated into two groups, which makes the lf-interction arch a little easier. Simulation of deformable objects in Ref. [6],[7],[10], [13] deals with lf-collision detection and collision respon. This is similar to T-mesh regularization in that it needs to detect lf-collision efficiently. However, lf-collision points are not to be removed, but to be repositioned and the remblance between frames can be exploited in order to expedite lf-collision computation becau the simulation of deformable objects needs to compute multiple frames.
In this paper, we prent an efficient algorithm to obtain the regular T-mesh from the raw offt T-mesh. A raw offt mesh is usually achieved by simply moving vertices in a smooth region along their normal
2-manifold triangular mesh
confining a clod volume
Input: T-Mesh with degeneracy
and/or lf-interction
Raw
Offt Regularize
Fig. 1. Mesh regularization.
478 vector estimated using their incident triangles. (Smooth region means where the angle between adjacent triangles is small enough to be ignored.) However, vertices in a sharp region should be handled differently. The vertices in a sharp region are offt along the incident triangle’s normal and the gap is filled by inrting a spherical mesh and a cylindrical mesh during the raw offt. For the details of raw offt process, the readers are referred to Jun [5].橙色系
2. BASIC OBSERVATIONS
肉末豆腐的家常做法
Objective is to find the valid region - t of triangles defining the outer boundary of the offt volume from the raw offt T-mesh. Triangles in the input raw offt mesh can be classified into three groups: valid triangles, invalid triangles, and partially valid triangles. Fig. 2 shows the groups and related basic obrvations. Valid triangles are the ones to be entirely contained in the valid region an
d remain in the mesh after the lf-interction removal. Invalid triangles are the ones not participating in the valid region and should be deleted entirely. Partially valid triangles lie on the boundary between valid region and invalid region. A partially valid triangle has interctions with other triangles, and a portion of a partially valid triangle is to be included in the resulting mesh. A partially valid triangle needs to be split into sub-triangles. Then, sub-triangles are to be classified: valid and invalid sub-triangles.
Problem is how to classify triangles of the raw offt T- mesh into the three groups efficiently.
Intercting triangles are the ones intercting with other(s). A partially valid triangle is an intercting triangle. However, the conver is not true as shown in Fig. 2. There are numerous invalid intercting triangles. Therefore, it is important to compute triangle-triangle interction only when necessary. The focus of our algorithm to be explained in the following ction is to avoid unnecessary traversing and splitting invalid triangles.
Fig. 2. Basic obrvations:
three triangle groups & valid/invalid region.
3. MESH REGULARIZATION ALGORITHM
We assume that the original T-mesh before raw offt is a clod surface, namely, 2-manifold T-mesh not including internal void and the input mesh for this algorithm is obtained by offtting the original T-mesh outward.
Fig. 3 shows the overall procedure of the propod algorithm and Fig. 4 explains the steps with an example. Step 1 is to find and delete degenerate triangles with virtually zero area. Step 2 is to compute lf-interction gments efficiently by constructing a bucket structure. Then the valid region arch starts with finding a valid ed triangle in step 3. The ed triangle forms the initial valid region. In step 4, the valid region grows from the ed triangle to neighboring triangles. This step also includes splitting the partially valid triangles. Once all valid triangles are marked, the remaining invalid triangles are removed and the lf-interction edges are stitched by assigning topological relation between adjacent valid triangles in the step.
3.1 Removing degenerate triangles
A degenerate triangle is the triangle with (almost) zero-area. Removal of edges with length 1ε<l (zero length tolerance) by edge collap as in Hoppe [4] and swapping diagonal edges if the minimum angle 2εα<(zero angle tolerance) are ud to remove degenerate triangles as shown Fig. 5.
Fig. 3. Overall procedure
479
degenerate Raw offt Self-interction
Remove triangles
T-Mesh
Compute Find a ed triangle
Find all valid regions
Trimming & Stitching
Fig. 4. An explanatory example of overall procedure.
3.2 Computing lf-interctions
Brute force interction computation requires to test all triangle pairs, which takes )(2N O interction comparison for T-mesh with N triangles. Since we want to avoid computing interctions between invalid triangles, we need an efficient structure for reducing the number of triangle-triangle interction (TTI) tests. Among many structures for such purpo, we u a bucket structure for its simplicity, which partitions the input T-mesh into buckets, where each bucket contains geometrically coherent triangles less than a fixed number (the bucket capacity C ).
Constructing bucket structure starts with a single bucket containing all triangles. If the number of triangles in a
bucket is bigger than C , the bucket is
subdivided into two by the plane splitting the longest side
of its AABB (Axis Aligned Bounding Box). Triangles crossing the plane are stored in both of
the buckets. The bucket subdivision process is applied recursively until each bucket contains less than C triangles or no improvement can be made. Once the bucket structure is constructed, the lf-interction test can be confined within a bucket.
(a) Edge collap.(b) Edge swapping.
被遗弃的公主
Fig. 5. Deleting degenerate triangles.
For each bucket, we simply compare all pairs of triangles within a bucket. For the fast TTI test, we u ‘interval overlap method’ suggested by Moeller [8],[9]. Each interction gment stores the pointers to both participating triangles, and a triangle maintains the list of interction gments which belongs to it.
The bucket subdivision process requires the computation time of C
N
N T 21log , where T 1 is
interction testing time between the bounding box and a triangle. Then the lf-interction test takes the computation time of CN T 2, where T 2 is interction
testing time between two triangles.
Therefore, lf-interction computation using bucket structure requires the computation time:
)(log (2
CN O C
N
N O + (1) Our empirical test shows that the lf-interction computation time increas almost linearly given the bucket capacity C . However, C value to minimize the calculation time varies with the mesh size of the model. Also, as one can e in Section 4 (empirical results), this step (computing lf-interctions) takes the majority of total time even with bucket structure. Avenues for further improvement on this step will be discusd in the conclusion.
3.3 Finding a ed triangle
Input T-mesh >=<T V TM , is the raw offt T-mesh satisfying the previously stated assumptions, where V is the t of vertices of TM . T is the t of triangles and their adjacency information. A ed triangle is a valid triangle to initiate the valid region growing. Let V VC ⊂ be the t of vertices on the convex hull of V .
Obviously VC belongs to the valid region. Any triangle T t ∈ having at least a vertex in VC is valid or partially valid and can rve as the ed triangle. Even more simply, a triangle touching AABB of the input T-mesh is valid or partially valid. Among tho triangles, we lect a valid triangle as the ed. (For the simplification of the subquent discussion, we assume that at least one triangle touching AABB is a valid one. Note that this assumption can be easily removed by slightly modifying the algorithm in ction 3.4.)
480 3.4 Valid region growing神兽饕餮
To find the valid region, we u region growing approach starting from the ed triangle found in the previous ction. Instead of splitting all intercting triangles beforehand, we split only partially valid triangles at the point of valid region growing in order not to hassle with unnecessary invalid triangles. Detailed algorithm of the valid region growing is compod of the steps as follows:
1. Each triangle has a three states : unvisited,
valid, partially valid. Initially, all triangles are marked as unvisited.
2. The ed triangle (found in Section
3.3) is
marked as valid and inrted into S , the t of wave front triangles for region growing.
3. Go to 5 if S is empty. Otherwi, remove a
triangle T from S .悉尼温度
4. For each unvisited T a adjacent to T , if T a has
no interctions, then it is marked as valid and inrted into S . Otherwi, T a is marked as partially valid and inrted into P , the t of partially valid triangle confronted. T a is stored in P together with the information to indicate the ‘entrance edge’ e p , which is the edge shared by T and T p . Then go to 3.
5. Go to 7 if P is empty. Otherwi, remove a
partially valid triangle T p and its entrance edge e p from P .
6. Sub-triangulate T p (details in Section 3.5).
Propagate the valid region over T p and its counterpart triangles (as detailed in Section 3.6). If another ed triangle is found, it is inrted into the ed queue and then go to 2. Otherwi, go to 4.
7. The valid region growing step is completed.
(a) Input raw offt T-mesh.(b) Start from the ed triangle.
(c) Valid region grows to interctions.(d) Valid region grows across the interction.
(e) Complete valid region growing.(f) Complete valid region growing.
Fig. 7. An explanatory example of the valid region growing.
3.5 Sub-triangulation
A partially
valid triangle T
p has (possibly many) interction gments in it. This step is to perform two tasks : (1) to split T p into sub-triangles which contains the interction gments as their edges (Fig.8(a)), (2) to propagate valid region within the sub-triangular mesh (Fig.8(b)).
The detailed steps for the first task is as following :
1. Split each edges e i of T p by all interction
gments {s i }.
2. Split each s i at the interction points among怡红院宜春院
them.
3. Sub-triangulate T p by 2D constrained
Delaunay triangulation [11] together with edges and interction gments split from 1 and 2.
As shown in Fig. 8(b), the valid region growing in the sub-triangular mesh starts from the entrance e
dge e p . The sub-triangle t sub0 which is adjacent to e p is marked as valid and becomes the ed for the valid region growing in the sub-triangular mesh. (Note that t * denote a sub-triangle.) Then the valid portion of T p grows into neighboring sub-triangles until it reaches interction gments, which play the role of the entrance edge for the counterpart (partially valid) triangle T c in the next step described in Section 3.6.
3.6 Crossing the river
The region growing process cross over the lf-interction and moves to the sub-triangles of the counterpart triangle. Fig. 9 illustrates detailed steps of propagating into the sub-triangles of the counterpart triangle across the interction of a partially valid triangle.
(a) Sub-triangulation
(b) The valid portion grows
into sub-triangles
T p
to
Fig. 8. Sub-triangulation & valid portion growing
in sub-triangular mesh.
481
Start valid region growing
from T
482
(b) Raw offt T-mesh & lf-interctions
(c) Invalid region left after the valid region growing(d) Regular T-mesh
Fig. 11. Bunny.
(a) Original T-mesh(b) Raw offt T-mesh & lf-interctions
游来游去的鱼儿(c) Invalid region left after the valid region growing(d) Regular T-mesh
Fig. 12. Knot.
(a) Original T-mesh(b) Raw offt T-mesh & lf-interctions
(c) Invalid region left after the valid region growing(d) Regular T-mesh
面试总结Fig. 13. C-arm lower.