Post Job Free

Resume

Sign in

Data Model

Location:
Columbus, OH
Posted:
November 20, 2012

Contact this candidate

Resume:

Int J Adv Manuf Technol (****) **: *** ***

DOI **.1007/s00170-005-0060-7

ORIGINA L ARTI CLE

H. Woo . T. K. Dey

Updating 3D triangular mesh models based

on locally added point clouds

Received: 13 October 2004 / Accepted: 3 June 2005 / Published online: 17 November 2005

# Springer-Verlag London Limited 2005

1 Introduction

Abstract In a manufacturing area, design changes for an

original surface model are frequently required: for example,

when the physical parts are modified or when the parts are In recent years, as 3D non-contact scanning devices be-

partially manufactured from analogous shapes. In this case, come popular, the reverse engineering technique is fre-

an efficient surface updating method by locally adding scan quently adopted to create 3D surface models in many areas

data for the modified area is highly desirable. For this pur- such as computer graphics, CAD/CAM, e-commerce, vir-

pose, this paper presents a new procedure to update an tual reality, etc. Reverse engineering (RE) refers to the

initial model that is composed of combinatorial triangular process of obtaining a 3D surface model from an existing

facets based on a set of locally added point data. Nowadays, physical part. This technique enables us to design aesthetic

many people are using surface models that are represented free-form shapes rapidly from a clay model by an artist and

by triangular facets in reverse engineering, since it is fast to inspect or modify the products [1, 2].

and easy to create the triangular meshes directly from large In practice, even though a designer creates the initial

amounts of point data. The initial surface model is first surface model of a product on the computer, the product

created from the initial point set by tight cocone, which is a encounters frequent design changes in development cycles

water-tight surface reconstructor; and then the point cloud or the final product needs to be updated for some reason,

data for the updates is locally added onto the initial model such as to fix the assembly problems, to improve functional

maintaining the same coordinate system. In order to update quality, or to customize the product for various customer

the initial model, the special region on the initial surface orders. If the products are modified for any reason, the initial

that needs to be updated is recognized through the detection design data also should be revised based on the modification

of the overlapping area between the initial model and the of the products. In addition, when products are partially

boundary of the newly added point cloud. After that, the manufactured from analogous shapes, it also requires up-

initial surface model is eventually updated to the final out- dates of the initial design data. Fig. 1 shows the product

put by replacing the recognized region with the newly development process that can modify initial prototypes and

added point cloud. The proposed method has been im- it constructs the closed loop. In the case that the prototypes

plemented and tested with several examples. This algorithm are modified, it is more desirable to update the initial surface

will be practically useful to modify the surface model with model by locally digitizing the regions of the object that are

physical part changes and free-form surface design. of interest, rather than by scanning the whole part again.

In reverse engineering, surface models can be recon-

Keywords Point cloud . Reverse engineering . Surface structed by largely two approaches: through the parametric

updating . 3D scan data . Tight cocone . Triangular facets curve/surface fitting process or the triangulation process [3,

4]. Even though the typical manufacturing process has

H. Woo required the parametric surface data because of accuracy

Dept. of Precision Machinery Systems, problems, the surface model represented by triangular facets

Kyounggi Institute of Technology, is widely used in reverse engineering nowadays since it is

2121-3 Jeongwang Dong,

fast and easy to create directly and automatically from the

429-792 Shi-heung City, Kyounggi Do South Korea

point cloud data, whereas a parametric surface model is

e-mail: abpjow@r.postjobfree.com

usually constructed through a series of tedious manual op-

T. K. Dey erations such as segmentation and curve fitting processes

Dept. of Computer and Information Science,

[1]. Especially, this representation is very useful and ef-

The Ohio State University,

ficient to reconstruct sculptured or free-form shapes from

2015 Neil Avenue,

the unorganized point data; and furthermore, it can be di-

Columbus, OH 43210, USA

262

Fig. 1 Product development by

Surface Fabricate No

modifying the prototypes Scan data Final object

Modified ?

reconstruction prototypes

Yes

Re-scan the surface

problems, they performed the local surface updating by

rectly applied to rapid prototyping as well as converted to

treating the surface as a whole without the need to espe-

parametric surfaces later if necessary [5, 6].

cially identify the re-measured regions. However, they also

In recent years, many researchers have studied inten-

focused on updating the single surface patch and assumed

sively for reconstructing surface models from point cloud

data [4, 7 12] and there are also a number of techniques for that an initial approximation of the object shape is available.

Biermann et al. [19] presented a technique for cut-and-paste

shape deformations or editing in the area of computer-aided

editing of multi-resolution surfaces to add special features

geometric design(CAGD) [13, 14]. However, little research

onto an initial surface model interactively. The algorithm

has been done for updating the surface model based on the

allows the user to select an area of interest on the source

additional scan data. Moreover, most of the research has

surface and then separates both the source and the target

focused on handling parametric surfaces by repositioning

surfaces into base and detail, so that the detail surface

the control points or adjusting knots. Some research related

represents a vector offset over the base surface. After that,

to the update of an initial model by adding the modified

the detail surface is pasted onto the target surface by

shape information is reviewed below.

interactively adjusting a location and an orientation of the

Reuding and Sreckovic [15] proposed the steps in the

source feature through the re-parameterization. In this

process that locally updates the existing non-uniform ra-

paper, the subdivision surfaces are used and the source

tional B-spline(NURB) surfaces subject to different kinds

surface and the target surfaces should be available. This

of modifiers, such as discrete measurement points of a clay

technique is very efficient to edit the existing surface using

model and other existing NURB curves and surfaces. The

another existing surface, but it is difficult to be generalized

shape modifiers are all converted into modifier point sets

and may result in higher distortion for complex shapes.

first, and then computed to a matching point on the updated

The above research has been done for updating the

surface for each point in the modifier point set by per-

existing surface models based on the locally added surface

forming a normal projection of that point onto the surface.

information, but there has been little research for updating

Finally, the constrained least-square method is used to

3D triangular mesh models subject to locally and addition-

obtain a smooth surface approximation result. In this paper,

ally measured point cloud data, even though many surface

they focused on closing the loop between the designers

reconstruction algorithms from the unorganized point cloud

working on the computer and those working on the physical

data result in non-manifold triangular mesh models.

model and tried to use geometric entities as tools to in-

In this paper, a new method is proposed to update initial

fluence the shape of the main geometry in controllable

3D triangular mesh models based on the newly added point

fashion. They assumed the required changes are small

cloud data. In order to construct the initial surface and

compared to the original shape, and used the normal pro-

obtain the final updated surface model, we adopt the sur-

jection of all added points which encounters geometric

face reconstruction algorithm called tight cocone [11]. The

problems for the complicated shapes. Ma and He [16]

proposed method will help to reduce the scanning time and

presented an approach to update a local area of B-spline or

it will be practically useful to modify the surface model

NURB surfaces based on a set of locally distributed points.

based on the physical part and free-form surface design.

The region of the original surface to be updated was identi-

This paper is organized as follows. Section 2 describes the

fied by projecting all the points onto the surface; the control

basic definitions and method for reconstructing the initial

points affecting these regions were identified and only this

surface model by tight cocone. Section 3 details a proposed

subset of the control points are allowed to affect in fitting.

new method to update the initial model by locally adding

The main idea of this paper is to avoid the singularity

point cloud data. Several experimental results by the pro-

problem of least-square methods [17] by excluding from

posed algorithm are shown in Sect. 4. We conclude this

fitting the control points for which the position is not

paper in Sect. 5.

defined by the data. However, this method is only focused

on modifying a single parametric surface patch and has still

the possibility of facing ill-condition problems due to the

2 Initial surface model reconstruction

sparse data in some regions. It is not practical at all since

fitting, knot insertion and measuring may need to be reiter-

ated a number of times. Brujic et al. [18] proposed a new We assume the initial point set has been sampled from a

closed surface S R3 which has no boundary. The initial

method for linear least-squares surface updating and also

addressed the rank-deficient and ill-condition problems from surface model is constructed from this point set using the

insufficient number of data points. To overcome these surface reconstruction algorithm called tight cocone [11].

263

We briefly review several definitions for tight cocone that

are used in this paper below.

2.1 Definitions

The point data needs to be dense enough to contain detailed

information about the features of S. In the view of it, tight

cocone is developed based on -sampling of smooth sur-

faces [8, 9]. Let P be a point sample on a surface S. The

definition of -sampling was introduced in [8] and it is

defined by the medial axisM of S and the local feature size

f . The medial axisM of S is the closure of the set of

centers of all medial balls that tangentially touch at least

two points on S; and the local feature size f is defined as a

function f:S R where f(p) is the least distance between

a point p and the medial axis M. If every point p S has a

sample within the distance f(p), a oint set P S is called an

-sampling of S. If P is sufficiently dense for S, it turns out

that the Voronoi cell Vp of P is elongated along the nomals

to S. This fact is used to estimate the normals at the sample

Fig. 2 Poles and Cocone

points with poles which is defined below [8, 20].

Poles: The farthest Voronoi vertex p+ in Vp is called

the positive pole of P and the negative pole of P is the region are chosen for each point from the Delaunay tri-

farthest point p- Vp from p such that the two vectors angulation whose dual Voronoi edges are intersected by the

from p to p+ and p- make an angle more than /2. We cocones. Finally, a primary surface is constructed by ex-

call vp=p+- p, the pole vector for p. If Vp is un- tracting a manifold surface out of these candidate triangles.

bounded, p+ is taken at infinity, and the direction of vp This manifold is homeomorphic and geometrically close to

is taken as the average of all directions given by un- S, but it leaves some holes in the surface near the vicinity of

bounded Voronoi edges. undersampling. Therefore, in order to fill all holes, a sub-

sequent marking and peeling phase is performed.

The normal np of S at a point p can be estimated by this Tight cocone designates the Delaunay tetrahedra com-

pole vector vp so that the plane passing through p with the puted from the input sample as in or out according to a

normal as vp approximates the tangent plane at p. It mo- primary surface by cocone and then peels off all out tetra-

tivates the following definition of cocone which is useful hedra. This leaves the in tetrahedra, and the boundary of the

for the surface reconstruction [20, 25]. union of in tetrahedra becomes the water-tight surface,

which is the output surface. The details are described in

Cocone: The set Cp y 2 Vp : y p ; vp ! 3 =8g [11]. In this paper, this tight cocone algorithm is used to

is called the cocone of p where ((y-p),vp) denotes the generate the initial surface model from the point cloud data

acute angle between the supporting lines of the as well as to update it to the final surface model based on

vectors y p and vp. In words, Cp is the complement the locally added point cloud data. Fig. 3 shows two initial

of a double cone(clipped within Vp) contered at p with example models that are reconstructed by tight cocone.

an opening angle 3 /8 around the axis aligned with

vp. See Fig. 2 for an example of a cocone.

3 Updating the surface model

2.2 Creation of an initial model by tight cocone 3.1 Overview of the updating process

In order to generate the initial model from a point cloud, A new surface updating method is designed to modify the

tight cocone is used in this paper. Tight cocone is a water- initial model based on the locally added point cloud data. In

tight surface reconstruction algorithm [11] and it works on order to make our algorithm efficient and simple, we as-

a primary surface using the cocone algorithm which almost sumed that the new point cloud data for the special region

completes the reconstruction except at the vicinity of the that should be updated has been already registered onto the

undersamplings. The cocone algorithm begins with the initial surface model sharing the same coordinate system by

calculation of Voronoi diagram which is dual to Delaunay the special fixtures and registration algorithms [21, 22].

triangulation. It detects the boundary points in undersam- And we also assumed the new point cloud data is obtained

pling regions from the input point set; and then the can- containing some overlapping regions with the initial model

didate triangles which do not belong to the undersampling at the boundaries of the point cloud data, which makes the

264

Fig. 3 Surface reconstruction

by tight cocone

Point cloud

Point cloud

Reconstructed surface

Reconstructed surface

a b

surface smooth at the overlapping area. Actually, it is very two boundary points of the point cloud as vertices. The

difficult to obtain the additional scan data that only rep- definition of boundary points and edges are summarized

resents the exact modified features. below and Fig. 5 depicts the boundary points and edges on

The proposed method starts from recognizing the special the restricted Voronoi diagram.

region on the initial surface model that should be updated,

and then the surfaces in that region are updated based on Interior and boundary points: Let Vp,s be the re-

the added point cloud data. In our algorithm, this special stricted Voronoi diagram [23] of a point sample p on a

compact surface S R3 with or without boundaries. A

region is identified by projecting the boundaries of the new

point cloud onto the initial surface and the boundaries of sample point p from a sample P of S is called interior

the newly added point cloud are calculated by the boundary if Vp,s does not contain a boundary point of S. Sample

detection algorithm used in cocone [20]. By these bound- points that are not interior are called boundary

aries, the region that should be updated is automatically sample points.

recognized. In order to choose the region that should be

updated automatically, the angle condition is used and the Boundary edges of a point cloud: Let pb1 and pb2 be

initial surface model is finally reconstructed by replacing boundary points of a point cloud P. An edge Ei by

the region that should be updated with the locally added

point cloud data. Fig. 4 shows the overall procedure for

updating the initial surface model. Initial surface model

A new point cloud

3.2 Detecting boundaries of a point cloud

Detecting Boundaries

Since the added point cloud data represents the local sur-

from the locally added point cloud

face shapes which should be updated from the initial

surface, the point cloud data is not for a closed surface but

for an open surface that has boundaries. In order to update

Detecting the overlapping

the surface model, the region on the initial model that needs

facets on the initial surface

to be updated should be first recognized. Since the over-

lapping area between the boundaries of the new point cloud

and the initial surface model makes the border of the region Segmentation of

that is of interest, the boundary detection algorithm for a the initial surface

point cloud called boundary that is used in cocone is

employed. The algorithm, boundary, has been devised by

Dey and Giesen [20] for detecting the boundary points that Selection of the region

that should be updated

lie in the undersampled regions from a point cloud data.

Using the cocone algorithm with boundary, the boundary

points and edges can be extracted from the locally added

Final updated model

point cloud data. The boundary points of a point cloud are

well defined in [20] and the boundary edges of the point

cloud are defined as the cocone edges that are connected by Fig. 4 Overall procedure for updating the initial surface model

265

Through this algorithm, the boundary points and edges

can be detected as shown in Fig. 6. Fig. 6a shows a point

cloud and Fig. 6b,c shows the detected boundaries and

the reconstructed surface by cocone. After detecting the

boundaries of a point cloud, the walking process is per-

formed to construct a boundary edge list which keeps the

connectivity of boundary edges and generates closed edge

loops.

3.3 Finding overlapping facets

After detecting the boundaries of the added point cloud

Fig. 5 The boundary points and edges on the restricted Voronoi

data, the overlapping facets on the initial surface with these

diagram

boundaries are identified. Practically, even though the bound-

aries of the added point cloud data overlap with the initial

Cocone of P is called a boundary edge of P if Ei is model, the boundary points do not always exist on the initial

connected by Pb1 and Pb2 as the vertices. surface. When the new point cloud data is locally added

onto the initial surface, the boundary points may exist

The Voronoi cells of the boundary points are not thin and outside or inside the water-tight initial model since the

long along the normal direction of the surface. Thus, initial surface has been reconstructed by the linear interpo-

boundary points cannot be flat, whereas interior samples lation of the 3D points. Thus, the projection of boundaries

with well sampled neighborhoods are flat. Based on this of the point cloud onto the initial model is performed along

intuition, the boundary points are detected by two con- the normals to the initial surfaces and the Euclidean distance

ditions called ratio and normal conditions. The ratio con- is also considered to avoid the projection of the boundary

dition tests the skinniness of the Voronoi cells and the points onto wrong surfaces. In this paper, the following

normal condition tests if its elongation matches with those procedures are performed in order to identify the over-

of its cocone neighbors. From the boundary points, the lapping facets on the initial surface model.

When a point, Pb, of boundary points from the point

boundary edges can be extracted easily from the cocone

surface. cloud is given, the candidate facets, Tc, are identified by

Fig. 6 Detection of Boundaries

of a point cloud

Boundary points

and edges

a Point cloud data b Boundary points and edges

c Reconstructed surface by Cocone

266

Fig. 7 Detecting overlapping

facets

checking the Euclidean distance first. If the closest vertex By this procedure, the overlapping facets on the initial

of the initial model to the point Pb is recognized, all model of the boundaries of the new point cloud data can be

triangular facets that share the closest vertex are marked as recognized. Fig. 8a shows the point cloud that is added

the candidate facets as shown in Fig. 7a. All these can- onto the initial surface model and Fig. 8b,c shows the

didate facets can be directly used as the overlapping facets; candidate facets and the final overlapping facets with the

however, it makes a thick border that contains unnecessary projected boundary edges of the new point cloud data,

triangular facets and it causes bigger errors on the curved respectively.

shape in the final model. Therefore, one overlapping facet

v1 v0 v2 v0

which is corresponding to Pb is chosen from the candidate

n (1)

jv 1 v 0 v 2 v 0 j

facets by the projection operation.

The triangle Ti is selected as the overlapping facet of Pb

if the projected point Pproj of Pb onto the plane that passes

through three vertices of Ti is placed inside the triangle. The pb v1 n jpb v1 j cos Di (2)

overlapping facets are depicted in Fig. 7b. The projected

point Pproj and the distance Di to the plane passing through

P where is the angle between pb v1 and n and 0 .

Ti is calculated by Eqs. (2) and (3). If 3 0 i 2 as shown

i

Pproj Pb Di n

in Fig. 7c, the triangle is selected as the overlapping facet of (3)

the point Pb.

Fig. 8 An example of the

overlapping facets

a The initial model and the locally added point cloud

Projected

boundary edges

Overlapping facets

a All candidate facets b Overlapping facets c Projected boundary edges

267

Locally added shape

Overlapping region

2 > 1

Initial surface model

B

1

2

Boundary point

2

A

1

A B

2D Section view

Fig. 9 An example of the angle condition

3.4 Updating surface model different groups as shown in Fig. 10a. So, two triangles can

be considered respectively by connecting one vertex in

In the previous section, the detection procedure for over- each region and two vertices of a boundary edge Ei.

Let Tik represents the triangle connecting one vertex in

lapping facets on the initial model was described. The

overlapping facets construct the closed border of the region the group Rk and the vertices of a boundary edge, Ei. In this

paper, in order to create Tik, one closest vertex in Rk to the

that needs to be updated. So, the initial model can be seg-

mented into different regions by these overlapping facets. midpoint of Ei is selected from the vertices of the over-

To segment the initial model, one triangle on the initial lapping facets by Ei. Fig. 10a shows an example of the

model that does not belong to any overlapping facets is triangles Til and Tim that are connecting each region

selected as a seed triangle. From the seed triangle, the sharing one boundary edge Ei. By these triangles, the di-

initial model can be segmented by the region growing

approach [3, 24]. The seed triangle grows gradually by

merging the adjacent facets until it meets the overlapping

facets. This process separates the vertices in the initial

model into different groups, Rk, where k is the group index

and k=m+1, where the number of the closed overlapping

facet loops is m. In order to choose the groups in the region

that should be updated from the segmented groups, the

angle condition is applied here.

The final model creates the smooth surface in the over-

lapping region between the initial model and the added point

cloud. Practically, when the additional scanning operation is

applied to the modified parts, the scan data is obtained with

partially overlapping the initial surface model. In this case,

the surface of the newly added point cloud is smoothly

connected to the initial surface model after discarding the

region that should be replaced. Thus, at the boundaries of

the added point cloud, the angle between the surface recon-

structed from the added point cloud and the initial surface in

the region that needs to be updated becomes smaller than

the angle for the other region. Fig. 9 describes the angle

condition with the cross-section view. In this example, the

angle 1 for the region R1 that needs to be updated is smaller

than the other angle 2 for R2. The region that should be

updated can be recognized by this angle condition.

To calculate these angles for each boundary edge of the

added point cloud data, two triangles that share the bound-

ary edge are considered. Since the initial model is seg-

mented by the overlapping facets that are calculated by the

boundary edges of the added point cloud data, the bound-

ary edges exist over the overlapping facets between two Fig. 10 Calculation of the boundary angles

268

Tik can be calculated using the normals of the triangles

hedral angles between the triangle out of the surface of the

whose orientations are harmonized based on Tic . In Fig. 10b,

point cloud and these triangles are calculated as follows.

If Tic means one triangle that shares a boundary edge, Ei, the normals of the triangles can be calculated by Eq. (4).

in the reconstructed surface by cocone from the added point

cloud as shown in Fig. 10b, the angle ik between Tic and

Po P1 P0 P2 P P P0 P1 P P P0 P1

nTic 03 04

Po P1 P0 P2 ; nTil P0 P3 P0 P1 ; nTi P0 P4 P0 P1 ; (4)

m

Fig. 11 An example of a test

block model

a Initial data b Finding the overlapping facets

Group I Point cloud

Overlapping facets

Group II

Group II

c Segmentation d Region selection

e The final updated model

269

By the oriented normals, the dihedral angles, ik, between Once all angles corresponding to each boundary edge are

Tic and Tik are estimated by Eq. (5). calculated for each group, the angle condition by compar-

ing the average values of the angles corresponding to each

0 1

group is finally applied to choose the region that needs to

nTic : nTik C

B be updated. The angle condition used in this paper is sum-

lk Tic Tik cos 1 @ A; (5)

nT c n k marized as follows.

Ti

i

Angle condition: Let mean be the average value of ik,

k

for i 0; n and k 0 m; Pn k

k

that is mean i 0 i =n, where k is the segmented

group index and n is the number of boundary edges.

where 0 ik , n is the number of boundary edges, and

When vertices that belong to either group m or l are

m is the number of the segmented group.

Fig. 12 An example of an air-

bag model

a Initial data b Finding the overlapping facets

Group III Point clouds

Group II

Group IV

Group I

Overlapping facets Group IV

c Segmentation d Region selection

e The final updated model

270

m l

known, if mean

updated, the angle condition described in Sect. 3.4 is

m should be replaced with the locally added point

applied. In Fig. 11c, the average boundary angle for

cloud.

I

group I, mean ; is 4.45 degree, whereas the average

II

boundary angle for Group II mean is 173.76 degree. Thus,

Through this angle condition, the vertices in the region

that should be updated are marked and the marked vertices group I was chosen as the replacement of the locally added

are replaced with the added point cloud. After that, the final point cloud. Through this process, the vertices in the region

updated surface models are automatically reconstructed that needs to be updated are recognized automatically.

from the locally added point cloud and the unmarked ver- Fig. 11d shows the remaining facets and the point cloud

tices in the initial surface model by tight cocone. after discarding the vertices in the region of the initial

model that should be updated. Finally, the updated model is

created from this data set by tight cocone as shown in

4 Experimental results Fig. 11e.

For the second example, the test model of an airbag

The proposed algorithms were tested with several example shape was experimented by the proposed method. In this

parts. These algorithms were implemented in Visual C++ example, three point clouds that require the subtractive

and the CGAL library was used for the Voronoi and operation were added onto the initial model as shown in

Delaunay computation while detecting the boundaries of Fig. 12a. From these initial data, the boundaries of each

point clouds and reconstructing the initial and updated point cloud are detected and the overlapping facets for each

models by tight cocone. All experiments were run on a point cloud are extracted from the initial model through the

Pentium IV 1.6GHz PC with 512 MB. projection process. Fig. 12b shows the detected over-

For the first example, the U-shape point cloud was lapping facets on the initial model and these overlapping

locally added on the initial test block as shown in Fig. 11a. facets segment the initial model into four groups as shown

The initial surface model was generated from the initial in Fig. 12c. For each point cloud, the average boundary

point data set by tight cocone and the locally added point angles to choose the region that needs to be updated are

cloud data was simulated by our own point sampling calculated and compared. In this example, the average angle

program to test the proposed algorithm. After adding the for group IV is compared with that for group I, II, and III

point cloud to the initial model, the boundaries of the point respectively. By the angle condition, the vertices in all

cloud are calculated using the boundary detection algo- groups except group IV are discarded and replaced with the

rithm and then the overlapping facets on the initial model locally added point clouds. Fig. 12d shows the remaining

are extractred by projecting the boundaries onto the initial facets and the point clouds for updating the initial model

model. Figure 11b shows the overlapping facets on the and the final updated model is obtained as shown in

initial model. After that, the initial model is divided into Fig. 12e.

two groups based on the overlapping facets as shown Figure 13 shows the example of updating a golf club

Fig. 11c. Here, one of these two groups should be replaced model. When the final product is slightly changed, the

with the added point cloud for updating the initial model. In initial surface model should be updated by locally adding

Fig. 13 An example of a golf Group I

club model

Group II

a Initial data b Segmentation

d The final updated model

271

b c d

a

e f g

Fig. 14 An example of a joystick model

the point cloud data for the modified region. The initial Figure 14 shows an example of updating a joystick

surface model and the point cloud that is registered into the model. The initial surface model is displayed in Fig. 14a

same coordinate system are shown in Fig. 13a. For this and two different point cloud data for updating the initial

example model, the added point samples exist both inside model are respectively shown in Fig. 14b,e. By adding

and outside the initial surface model but the region that these different point clouds, the initial surface model can be

needs to be modified is successfully detected using the customized differently. Fig. 14c,f show the initial model

approach by the boundaries of the point cloud data. with each different point cloud respectively and the initial

Fig. 13b shows the overlapping facets on the initial model model is updated to different shapes based on each added

detected by the boundaries of the point cloud and the two point cloud by the proposed method. As the result of the

segmented groups based on the detected overlapping facets. proposed method, the final updated surface models for each

After replacing the vertices in the group I region that needs added point cloud are shown in Fig. 14d,f respectively and

to be updated with the point cloud by the angle condition, Table 1 summarizes the number of points and the com-

the initial model is updated automatically based on the puting time for all examples tested in this paper.

locally added point cloud as shown in Fig. 13c.

Table 1 The computing time of the proposed method

Model Number of points Computing time(s)

Initial Point Updated Boundary Overlapping facets Segmentation and Reconstruction of the

model cloud model detection detection region selection updated model

Test block (Fig. 11) 5,991 11,488 17,057 62.27 29.70 1.22 44.86

Airbag (Fig. 12) 28,650 34,866 60,959 150.02 228.05 10.97 337.32

Golf club (Fig. 13) 49,380 4,572 53,570 9.25 75.265 7.42 388.80

Joystick I (Fig. 14d) 37,122 10,574 45,893 24.73 134.34 7.45 370.80

Joystick II (Fig. 14g) 37,122 32,187 65,956 204.00 170.88 8.86 367.12

272

4. Sun W, Bradley C, Zhang YF, Loh HT (2001) Cloud data

5 Conclusions

modeling employing a unified, non-redundant triangular mesh.

Comput Aided Des 33:183 193

In this paper, we proposed the surface updating algorithm 5. Krishnamurthy V, Levoy M (1996) Fitting smooth surfaces to

based on the locally added point cloud data. When the dense polygon meshes. International conference on computer

graphics and interactive techniques

scanning operation is applied to the partially modified

6. Navau JC, Garcia NP (2000) Modeling surfaces from meshes of

parts, new point cloud data that represent the change of the

arbitrary topology. Comput Aided Geom Des 17:643 671

parts are locally added to the initial surface model. In this 7. Edelsbrunner H, Mucke EP (1994) Three-dimensional a shapes.

case, the proposed procedure can be efficiently applied for ACM Trans Graph 13:43 72

updating the initial model based on the locally added point 8. Amenta N, Bern M, Kamvysselis M (1998) A new Voronoi-

based surface reconstruction algorithm. SIGGRAPH 98

cloud. In order to update the initial model, we have first

9. Amenta N, Choi S, Kolluri RK (2001) The power crust. In:

recognized the special region on the initial model that Proc. Solid Modeling 01

needs to be updated by marking the overlapping facets on 10. Edelsbrunner H (1998) Shape reconstruction with Delaunay

the initial surface based on the boundaries of the added complex. In: LNCS 1380, LATIN'98: Theoretical Informatics

119 132

point cloud data; and then the initial model has been finally

11. Dey TK, Goswami S (2003) Tight cocone: a water-tight surface

updated by replacing the recognized region with the newly reconstructor. In: 8th ACM Sympos. Solid Modeling Applications

added point cloud. Here, for the purpose of creating the 12. Boissonnat JD, Cazals F (2000) Smooth surface reconstruction

initial model and detecting the boundaries of the point via natural neighbor interpolation of distance functions. In:

Proc. 16th. ACM Sympos Comput Geom

cloud, we have adopted the cocone and tight cocone algo-

13. Coquillart S (1990) Extended free-form deformation: a sculpturing

rithms, which are the surface reconstruction algorithms

tool for 3D geometric modeling. In: Proc. ACM SIGGRAPH 90

from unorganized point data. The proposed method will 14. Cavendish JC (1995) Integrating feature-based surface design

enable us to create the customized model from the initial with freeform deformation. Comput Aided Des 27(9):703 711

design rapidly and it might shorten the additional scanning 15. Reuding T, Sreckovic M (1993) Automatic Local Updating of

CAD Surface Models. In: the Third SIAM Conference on

time. It will be practically useful for the surface modifi-

Geometric Design

cation based on the physical part changes and free-form 16. Ma W, He P (1998) B-spline surface local updating with un-

surface design. organized points. Comput Aided Des 30(11):853 862

As for further work, when the existing mesh models such 17. A. Bjorck (1996) Numerical methods for least squares problems.

Society for Industrial and Applied Mathematics, Philadelphia

as STL files generated from CAD models are used, the

18. Brujic D, Ristic M, Ainsworth I (2002) Measurement-based

density of points could be very different from that of the modification of NURBS surfaces. Comput Aided Des 34:173

locally added point clouds. In this case, the skinny triangles 183

can be generated. To avoid these problems, some re-sam- 19. Biermann M, Martin I, Bernardini F, Zorin D (2002) Cut-and-

paste editing of multiresolution surfaces. In: SIGGRAPH 2002

pling or subdivision techniques can be considered to create

20. Dey TK, Giesen J (2001) Detecting undersampling in surface

the high quality mesh models.

reconstruction. In: 17th Ann Sympos Comput Geom

21. Lee KH, Lee SK, Kim SM (2002) Design of a universal fixture

for laser scanning. Adv Manuf Technol 19:426 431

References 22. Yau H, Chen C, Wilhelm RG (2000) Registration and inte-

gration of multiple laser scanned data for reverse engineering of

complex 3D models. Int J Prod Res 38(2):269 285

1. Varady T, Martin R, Cox J (1997) Reverse engineering of

23. Edelsbrunner H (2001) Geometry and topology for mesh gen-

geometric models-an introduction. Comput Aided Des 29(4):

eration. Cambridge University Press

255 268

24. Hoffman RL, Jain AK (1987) Segmentation and classification

2. Tai C, Huang M (2000) The processing of data points basing on

of range images. IEEE Trans Pattern Anal Mach Intell 9(5):

design intent in reverse engineering. Mach Tools Manuf 40:

608 620

1913 1927

25. Dey TK, Woo H, Zhao W (2003) Approximate medial axis for

3. Woo H, Kang E, Wang S, Kwan H, Lee (2002) A new seg-

CAD models In: Proceedings of 8th ACM Symposium on Solid

mentation method for point cloud data. Int J Mach Tools Manuf

Modeling and Applications, 16 20 Jun 2003, Seattle, WA,

42:167 178

USA pp 280 283



Contact this candidate