Top Banner
Drawing curves onto a cloud of points for point-based modelling Phillip N. Azariadis a,b, * , Nickolas S. Sapidis a a Department of Product & Systems Design Engineering, University of the Aegean, Ermoupolis, Syros 84100, Greece b ELKEDE—Technology & Design Centre SA, Research & Technology Department, 14452 Metamorphosis, Greece Received 18 December 2003; received in revised form 30 April 2004; accepted 4 May 2004 Abstract Point-based geometric models are gaining popularity in both the computer graphics and CAD fields. A related design/modelling problem is the focus of the reported research: drawing curves onto digital surfaces represented by clouds of points. The problem is analyzed and solved, and a set of ‘design tools’ are proposed which allow the user/designer to efficiently perform ‘product development’ (alternative name: ‘detail design’) tasks which require efficient processing of a ‘digital surface’. The primary tool is a robust and efficient point projection algorithm combined with a smoothing technique for producing smooth ‘digital curves’ lying onto the cloud surface. The new design tools are tested on a real-life industrial example with very satisfactory results, which are thoroughly presented in the paper. q 2004 Elsevier Ltd. All rights reserved. Keywords: Digital curves; Digital surfaces; Point-based representation; Point projection algorithm; Polylines; Smoothing polylines 1. Introduction During the last 5–6 years, an increasing trend has been developing in Computer-Graphics, as well as in the CAD community, towards surface models based on discrete elements like polygons, triangles and, very recently, points. Regarding polygons and triangles, these have long been the standard ‘basic element’ in graphics, and recently their importance has also been increasing in CAD/CAE/CAM. Indeed, modern design-technologies like Reverse Engineering (RE) [7], Virtual Engineering [15] and Rapid Prototyping [37] are using, almost exclusively, polygon meshes. ‘Collaborative design’ methods are also using meshes [28]; e.g. Ref. [36] contributes to network-based integrated design and reports that "faceted models have become the de facto standard model for describing complex geometry over the Internet". Finally, ‘concept development’ systems most often use a polygon mesh [28,30] rather than analytic geometric models. Very recently, the above trend, towards ‘discrete models’, has been culminating by bringing to the foreground the plainest of all geometric elements, the point! The reasons are very convincing: regarding modern computer graphics, ‘in complex models the triangle size is decreasing to pixel resolution’ [3], thus, points, and more specifically ‘connec- tivity-free points’, are the obvious choice for a primary surface model. Many recent papers (see Refs. [2,40] and references therein) adopt this approach, and develop efficient algorithms to solve related problems. For CAD, since the design process starts with points (user defined or imported using RE) and ends with points (VE/simulation/ analysis models or NC data), why use as primary model something else? This argument is developed in Ref. [10], which updates the related discussion first presented, long time ago, by McLaughlin [23]. Cripps [10] presents a comprehensive ‘point-based CAD’/CAM system for design/visualization and tool-path generation using subdivision-surfaces for model refinement, when this is needed. The pioneering work [16] reviews geometric modelling methods for NC machining and proposes point-based approximations as the most appro- priate. Vergeest et al. [31] focus on ‘shape reuse’ in modern design and proposes a novel methodology combining a primary CAD model with many auxiliary shape models in a corporate library. This family of shape models includes feature-, geometric-, CAD-, as well as point cloud models used as descriptors of library items. 0010-4485//$ - see front matter q 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2004.05.004 Computer-Aided Design 37 (2005) 109–122 www.elsevier.com/locate/cad * Corresponding author. Address: Department of Product and Systems Design Engineering, University of the Aegean, Ermoupolis, Syros, 84100, Greece. Tel.: þ30-228-109-7129; fax: þ30-228-109-7009. E-mail addresses: [email protected] (P.N. Azariadis), [email protected] (N.S. Sapidis).
14

Drawing curves onto a cloud of points for point-based modelling

May 04, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Drawing curves onto a cloud of points for point-based modelling

Drawing curves onto a cloud of points for point-based modelling

Phillip N. Azariadisa,b,*, Nickolas S. Sapidisa

aDepartment of Product & Systems Design Engineering, University of the Aegean, Ermoupolis, Syros 84100, GreecebELKEDE—Technology & Design Centre SA, Research & Technology Department, 14452 Metamorphosis, Greece

Received 18 December 2003; received in revised form 30 April 2004; accepted 4 May 2004

Abstract

Point-based geometric models are gaining popularity in both the computer graphics and CAD fields. A related design/modelling problem is

the focus of the reported research: drawing curves onto digital surfaces represented by clouds of points. The problem is analyzed and solved,

and a set of ‘design tools’ are proposed which allow the user/designer to efficiently perform ‘product development’ (alternative name: ‘detail

design’) tasks which require efficient processing of a ‘digital surface’. The primary tool is a robust and efficient point projection algorithm

combined with a smoothing technique for producing smooth ‘digital curves’ lying onto the cloud surface. The new design tools are tested on

a real-life industrial example with very satisfactory results, which are thoroughly presented in the paper.

q 2004 Elsevier Ltd. All rights reserved.

Keywords: Digital curves; Digital surfaces; Point-based representation; Point projection algorithm; Polylines; Smoothing polylines

1. Introduction

During the last 5–6 years, an increasing trend has been

developing in Computer-Graphics, as well as in the CAD

community, towards surface models based on discrete

elements like polygons, triangles and, very recently, points.

Regarding polygons and triangles, these have long been the

standard ‘basic element’ in graphics, and recently their

importance has also been increasing in CAD/CAE/CAM.

Indeed, modern design-technologies like Reverse

Engineering (RE) [7], Virtual Engineering [15] and Rapid

Prototyping [37] are using, almost exclusively, polygon

meshes. ‘Collaborative design’ methods are also using

meshes [28]; e.g. Ref. [36] contributes to network-based

integrated design and reports that "faceted models have

become the de facto standard model for describing complex

geometry over the Internet". Finally, ‘concept development’

systems most often use a polygon mesh [28,30] rather than

analytic geometric models.

Very recently, the above trend, towards ‘discrete

models’, has been culminating by bringing to the foreground

the plainest of all geometric elements, the point! The reasons

are very convincing: regarding modern computer graphics,

‘in complex models the triangle size is decreasing to pixel

resolution’ [3], thus, points, and more specifically ‘connec-

tivity-free points’, are the obvious choice for a primary

surface model. Many recent papers (see Refs. [2,40] and

references therein) adopt this approach, and develop

efficient algorithms to solve related problems. For CAD,

since the design process starts with points (user defined or

imported using RE) and ends with points (VE/simulation/

analysis models or NC data), why use as primary model

something else? This argument is developed in Ref. [10],

which updates the related discussion first presented, long

time ago, by McLaughlin [23].

Cripps [10] presents a comprehensive ‘point-based

CAD’/CAM system for design/visualization and tool-path

generation using subdivision-surfaces for model refinement,

when this is needed. The pioneering work [16] reviews

geometric modelling methods for NC machining and

proposes point-based approximations as the most appro-

priate. Vergeest et al. [31] focus on ‘shape reuse’ in modern

design and proposes a novel methodology combining a

primary CAD model with many auxiliary shape models in a

corporate library. This family of shape models includes

feature-, geometric-, CAD-, as well as point cloud models

used as descriptors of library items.

0010-4485//$ - see front matter q 2004 Elsevier Ltd. All rights reserved.

doi:10.1016/j.cad.2004.05.004

Computer-Aided Design 37 (2005) 109–122

www.elsevier.com/locate/cad

* Corresponding author. Address: Department of Product and Systems

Design Engineering, University of the Aegean, Ermoupolis, Syros, 84100,

Greece. Tel.: þ30-228-109-7129; fax: þ30-228-109-7009.

E-mail addresses: [email protected] (P.N. Azariadis), [email protected]

(N.S. Sapidis).

USER
高亮
USER
高亮
USER
高亮
Page 2: Drawing curves onto a cloud of points for point-based modelling

In RE, current systems allow acquisition/processing of

clouds of points so dense that triangulation is meaningless,

in complete analogy to computer-graphics applications.

Some very recent examples of publications, adopting this

approach, are: Woo et al. [34] proposing a new

segmentation method combining unorganized points with

an octree. Benko et al. [6] enhance the standard reverse-

engineering problem with constraints; the whole develop-

ment is based on point clouds. Corbo et al. [11] combine

up to 50 views of objects, measuring 1.2 m £ 0.6 m £ 2 m,

producing clouds with millions of points. This work

proposes novel ‘design analysis tools’ solely based on

point clouds.

Point-based models, enhanced with atomic-level physics,

lead to the so-called ‘particle systems’, which are

extensively used in discrete mechanics models for virtual

claying (see Refs. [17,20] and references therein) competing

against standard methods based on finite elements or

boundary elements. Horvath and his co-workers [15,29]

enhance point-based models and propose ‘vague discrete

modelling’, capable of simultaneously describing multiple

objects, to support concept development in collaborative

virtual environments.

Concluding this short review of ‘point-based surface

modelling’, we note that similar proposals for describ-

ing volumes/solids are constantly appearing, with typical

examples the various ‘volumetric representations’, like

voxels [8], and the ray- and triple-ray representations

[9,24,25].

1.1. Drawing curves on clouds of points

The present paper deals with product design using a point

cloud and focuses on drawing curves on (more accurately:

within) a ‘thick’ or ‘thin’ cloud of points. The core of the

proposed product design approach is shown in Fig. 1:

initially the user constructs a rough shoe design composed

of polylines which only look like they lie onto the cloud

surface (e.g. of a shoe last). The system eventually replaces

these polylines by smoothed ones lying exactly onto the

cloud surface (according to a specific mathematical model)

as it is shown in Fig. 1c. The transformation of the initial

design (Fig. 1a) to the final smooth one (Fig. 1c) requires the

elimination of intermediate side effects, like the line

wrinkles shown in Fig. 1b.

Designing curves onto a cloud of points is a surprisingly

difficult problem, and although no publication on it has been

yet identified, few recent papers deal with 2D versions of the

problem and clearly show the related difficulties. Benko and

Varady [7] deal with segmentation of thin, and thus

triangulated, points, yet curve-fitting to thick 2D clouds of

points does emerge, and heuristics are used to thin a cloud

before curve fitting. Curve-fitting to a thick 2D point set is a

vital subproblem in Ref. [26], too. Again, 2D curve-fitting is

preceded by thinning, based on related tools from image

processing. Polygonal curve-fitting to a 3D point cloud

appears in Ref. [21]; this is heuristically treated by solving

the corresponding 2D problem, which is a reasonable

approach given the paper’s subject (rapid prototyping).

Fig. 1. Product design using a cloud of points. (a) The user defines design polylines in one or more views, (b) the system projects the design polylines onto the

cloud, (c) the system calculates projected smooth cubic B-splines which are finally described as digital curves, i.e., dense polylines.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122110

USER
高亮
USER
高亮
USER
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
USER
高亮
USER
高亮
Page 3: Drawing curves onto a cloud of points for point-based modelling

The work of Lee [19] is devoted almost entirely to the

problem of ‘curve-fitting to thick point clouds’. It identifies

shortcomings in existing methods and focuses on the major

issue of ‘difficulties caused by varying thickness’. A new

solution is proposed for the 2D case, based on thinning using

the ‘moving least-squares technique’. The author recognizes

that this new method cannot be directly extended into the 3D

case, yet he describes an interesting heuristic that performs

well for a number of examples. Finally, the recent

publication [37] deals with direct construction of a layer-

based rapid prototyping model from cloud data. A significant

part of this work is devoted to fitting to a 2D cloud a

polygonal curve with as few linear pieces as possible.

Related difficulties are identified and an interesting algor-

ithm is proposed, which suffers from several deficiencies:

(a) selection of the starting point is accomplished by trial-

and-error, (b) it involves four parameters that the user must

specify, and (c) no proof of converge is presented, neither

any measure for the required execution time.

1.2. Drawing curves onto a point cloud based

on point projection

The proposed Curve-Drawing technique, detailed in

Section 3, (a) is based on projecting points onto a cloud (this

problem is analyzed and solved in Section 4) and (b) is

not using any surface fitted to (in other words: reverse-

engineered from) the given point cloud. Part (b) of this

strategy is due to the following reasons:

1. Drawing curves on a point cloud is viewed as a ‘low

level’ procedure, employed by many ‘high level’

operations, including surface reconstruction (e.g.

methods using curve networks [32]). In this frame-

work, it does not make sense for the Curve-Drawing

procedure to employ a surface reconstruction method.

2. For the current highly accurate and dense (and thus

often thick) point clouds, surface reconstruction is

always an approximation operation that causes some

loss of information ([4, Section 2]). This is avoided

when one operates directly on the given point cloud.

3. Current scanning systems produce highly accurate and

dense (thick) point clouds, implying the following

characteristics for the point set and the corresponding

surface reconstruction problem:

(a) Although point clouds are usually dense, it is not

rare for a pointset to include undersampled areas.

Thus, it is vital for an industrial system to employ

processing algorithms that are free of any strict

conditions regarding ‘sampling density’.

(b) It is meaningless to try to reconstruct an

interpolating surface. Only surface approxima-

tion is a reasonable framework for surface

reconstruction.

(c) Since the point cloud is thick, one should not

assume that the given points are equipped with

normal-vector and/or orientation.

(d) It is quite possible that the underlying surface of a

point cloud is neither smooth (i.e. it may have sharp

edges) nor closed (i.e. it may have a boundary).

The above characteristics render many published surface

reconstruction methods, from the fields of Computational

Geometry and Computer Graphics, inappropriate for

industrial use. This is the case, e.g. for the ‘crust algorithm’

[4], which contradicts all the above characteristics, as it

needs to operate on a ‘good sample from a smooth surface’, it

interpolates data using a ‘normal filtering step’, and handles

neither sharp edges nor boundaries. Another example is

‘natural neighbour interpolation’ [5], which also contradicts

all characteristics stated above, as it requires a sufficiently

dense sample (see Theorems 2 and 3 in Ref. [5]), interpolates

the input points (see Introduction in Ref. [5]), assumes that

the given points are equipped with normal directions and

handles neither sharp edges nor boundaries. Regarding the

surface reconstruction methods offered by RE and CAD, it is

fair to say that early efforts (including those of the second

author), reviewed in Ref. [32], were quite far from

satisfactory, as manifested by the current intense research

on the various components of the ‘Reverse Engineering

problem’, like data parameterization [1], free-form surface

fitting [33,38], standard shape reconstruction [6], and cloud

segmentation [7,39]. In conclusion, it is the immaturity of

this field and remark (1) above that force us to adopt

the strategy of avoiding, as much as possible, surface

reconstruction in designing with point clouds.

Note 1. Though the proposed curve-drawing method is in

accordance with point (a) above (i.e. it imposes no a priori

requirements on a cloud’s density), its performance is surely

affected by the local density of the given point cloud.

Extensive numerical tests (some are presented in Section

2.5) demonstrate that the method’s performance is very

stable even for a point cloud with a varying density. Despite

this, ‘influence of density variation on curve-drawing’ is one

of the main topics of the authors’ current research.

2. Point projection onto a cloud of points

The surface model considered in this paper is a collection

of (possibly noisy) points, sampled on a physical object,

without any topological information. A vital component of

the ‘digital-curve’ design methods, presented below, is a

method to project points onto a cloud surface. This is

exactly the subject of this section.

Projecting an arbitrary point onto a cloud surface is based

on the following methodology:

† Firstly, an error function is defined for measuring the

distance between the point to be projected and the point

cloud.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 111

chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
chenjun
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 4: Drawing curves onto a cloud of points for point-based modelling

† Secondly, the point of interest is projected onto the cloud

surface by minimizing the above error function.

The current literature does not offer a satisfactory

solution to the problem of specifying an appropriate

‘point cloud error function’. Only Ref. [13] proposes a

related error function (and employs it in developing an

LOD surface representation), yet this cannot be used in

the present research as it is based on a polygonal

representation of the model’s surface. The rest of this

section derives an appropriate point cloud error function

and uses it to solve the problem of projecting a point onto

a cloud.

2.1. The directed projection problem

Let CN ¼ {pm ¼ ðxm; ym; zmÞlm ¼ 0;…;N 2 1} be the

given cloud of points and let p ¼ ðx; y; zÞ be an arbitrary

3D point, hereafter called a ‘vertex’, with n ¼ ðnx; ny; nzÞ an

associated projection vector. The pair p; n is denoted by

p ¼ kp; nl: Then,

Definition 1 (The directed projection problem). The

directed projection pp of p; in the direction of n; onto the

cloud of points CN is defined as follows. Each pm [ CN is

associated to a positive weight am: Then, pp is the solution of

the problem:

Find pp minimizing EðppÞ ¼XN21

m¼0

amkpp 2 pmk2: ð1Þ

The point pp is also called the directed projection of p ¼

kp;nl onto CN : For given weights {am} (these are specified

in Section 2.2), one writes pp ¼ ðxp; yp; zpÞ as

pp ¼ ppðtÞ ¼ p þ tn; t [ R ð2Þ

Then, the solution of problem (1) is [1]

t ¼l2 p·n

knk2ð3Þ

where

l ¼c1nx þ c2ny þ c3nz

c0

; and c0 ¼XN21

m¼0

am;

c1 ¼XN21

m¼0

amxm; c2 ¼XN21

m¼0

amym; c3 ¼XN21

m¼0

amzm:

ð4Þ

Intuitively, the projection process defined by Eqs. (2) and

(3) can be regarded as a method for intersecting a given

cloud surface with the semi-infinite line defined by p:

2.1.1. Investigating the intuitive correctness of Definition 1

Although the projection method developed here, on the

basis of Eqs. (2) and (3), produces reasonable results (see

sections with examples below), one would certainly like to

have a ‘theoretical justification’ for this. A possible

approach would be to consider a point set CN lying on a

known parametric surface S ¼ Sðu; vÞ: Then, if Spp is the

projection of p onto S; the method (2) þ (3) should produce

a vertex pp sufficiently close to Spp : Though no theoretical

results have been produced yet along this direction, the

related numerical experiments (see Section 2.5) are very

convincing.

2.1.2. Error analysis of the projection method

of Definition 1

The present analysis relates the measurement error 1 in

the point cloud with the implied error in the solution of the

directed projection problem (expressed by Eq. (3)). It is

assumed that a cloud has been derived with points lying

within a maximum Euclidean distance 1 from their true

location:

C0N ¼ {p0

m ¼ ðx0m; y0m; z

0m; Þlkp0

m 2 pmk # 1;m ¼ 0;…;N 2 1}:

Using C0N the corresponding solution of the directed

projection problem is given by

t0 ¼l0 2 p·n

knk2ð5Þ

where

l0 ¼c01nx þ c02ny þ c03nz

c00and c00 ¼ c0;

c01 ¼XN21

m¼0

amx0m; c02 ¼XN21

m¼0

amy0m; c03 ¼XN21

m¼0

amz0m:

Then

lt0 2 tl ¼ll0 2 llknk2

ð6Þ

and

ll0 2 ll ¼lðc01 2 c1Þnx þ ðc02 2 c2Þny þ ðc03 2 c3Þnzl

c0

#1

c0

½lðc01 2 c1Þllnxlþ lðc02 2 c2Þllnyl

þ lðc03 2 c3Þllnzl�

#1

c0

1XN21

m¼0

amðlnxlþ lnylþ lnzlÞ

24

35

Then one derives

lt0 2 tl # 1

XN21

m¼0

amðlnxlþ lnylþ lnzlÞ

c0knk2

# 13knkc0

c0knk2¼ 1

3

knkð7Þ

Conclusion. Eq. (7) proves that there is a constant

scalar k; independent of the cloud of points, such that

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122112

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 5: Drawing curves onto a cloud of points for point-based modelling

lt0 2 tl # k·1: In other words, the error in the computed

solution (3) is always bounded and depends linearly on the

error in the measured cloud points.

2.2. Selecting an appropriate weight function

The weights am play a dominant role in the computation

of pp and thus they should be chosen very carefully. In

general, the weight am $ 0 of pm [ CN should take a larger

value when pm is closer to the vertex p; to be projected, and

a descending value as the distance from pm to p increases.

The weight function used in Ref. [1] is

am ¼1

kp 2 pmk4; am [ ½0;1Þ; ð8Þ

which is adequate for the introduced point-parameterization

method. Eq. (8) takes into account only the distance

between pm and p: Erikson and Manocha [13] utilize a

weight function based on the surface area of the faces

adjacent to pm: This is inapplicable to the present surface-

representation which is solely a pointset without any

topological information.

Solving the problem described by Definition 1 requires a

new weight function taking under consideration also the

direction n associated to the given vertex p: Systematic

experiments have led to the conclusion that one should use a

weight function taking under consideration both the

distance between p and pm; kpm 2 pk; as well as the quantity

kðpm 2 pÞ £ nk measuring the distance between pm and the

axis defined by p and n: We propose:

am ¼1

1þ kpm2pk2kðpm2pÞ£nk2; am [ ½0;1� ð9Þ

We force am [ ½0; 1� in order to ensure numerical

stability of this quantity; am ¼ 1 when p [ CN ; i.e. pcoincides with one of the cloud points or when pm lies onto

the projection axis.

Fig. 2a shows the difference between Eqs. (8) and (9): the

former takes a maximum value for points in the vicinity of

the top-left part of the cloud while the latter is maximized at

cloud points near the axis of projection. Fig. 2b shows the

improved local value-distribution of the weight function (9).

Several vertices are projected onto the cloud surface of a

shoe last along the directions shown as dark lines. The larger

am is, the darker we paint the corresponding part of the cloud.

It is obvious that the weights are maximized in the vicinity of

the axis of projection. Indeed, the darkest points correspond

to the intersection of projection axes with the cloud.

2.3. Specification of projection vectors

The directed projection problem (Definition 1) and

formulae (3), (4) and (9) require specification of adequate

projection directions. The present research deals with

‘interactive curve-drawing’ and thus it relies on the user

to define, through a Graphics Interface tool, projection

vectors.

In general, the geometric pipeline utilizes viewing and

projection matrices and a viewport for clipping to transform

the world (or object) coordinates of a point into window (or

screen) coordinates. For interactive curve design one has to

reverse this process. Specifically, in the present implemen-

tation, users utilize the mouse to specify the ‘image of a

vertex’–in the rest of this paper, all user-defined points will

be called ‘vertices’—as a location in the two-dimensional

screen. Then, the system reverses the transformation process

and maps the specified screen point onto the near and far

clipping planes as it is shown in Fig. 3, producing the two

auxiliary vertices pn and pf ; marked with small circles.

These two vertices define both the input vertex and the

associated projection vector (see Definition 1), as follows:

p ¼ kp;nl ¼ pn;pf 2 pn

kpf 2 pnk

* +: ð10Þ

Eq. (10) holds also for parallel viewing transformations.

2.4. The proposed point-projection algorithm

The outline of an algorithm for projecting an arbitrary

vertex onto a cloud of points, called PointProjection,

is given in Fig. 4. The algorithm takes as input a vertex p

Fig. 2. (a) Directed projection of a vertex p onto the cloud of points CN :

(b) Colour map representing values of the weight function (9).

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 113

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 6: Drawing curves onto a cloud of points for point-based modelling

and a cloud surface CN and computes the projection pp of p

onto CN : This is achieved through an iterative procedure

with the aid of a local variable cn which is a working sub-

cloud of CN ; initially, cn ; CN : During the projection

calculation, the cardinality of cn is gradually reduced by

removing from it cloud points which are found to be

insignificant for the projection calculation. In this way, one

is able to reduce processing time and also increase the

accuracy of the projection procedure. The significance of

each cloud point in the current cn is determined by the

corresponding weight am; calculated using Eq. (9); all

weights are stored in a single vector a [ Rn:

In order to decide which cloud points should be ignored

in the Kth iteration, another local variable named alimit is

defined

alimit ¼

amean þamax 2 amean

10 2 K; K , 9

amean þamax 2 amean

2; otherwise

8><>: ð11Þ

where the real parameters amax; amean; correspond to the

maximum and mean value of the computed weights {am}:

Eq. (11) is defined in such a way that cloud points with a

small influence (i.e. small am) are discarded in the first

iterations of the algorithm. This is particularly useful for

large data sets with tenths or hundreds of thousands of

points, improving considerably the efficiency of the

algorithm.

According to Fig. 4, the proposed algorithm is initiated

by setting the working sub-cloud equal to the initial one

ðcn U CNÞ: Then a loop begins and the given vertex p with

the current working cloud cn is passed into the OptimPro-

jectToCloud procedure (Fig. 5) producing pp; which is the

current estimation for the projection of p onto cn:

OptimProjectToCloud also returns the weight vector awith respect to the input vertex p: If the Euclidean distance

between the current projection estimation pp and the vertex

p is less than a threshold 1; the procedure is terminated.

Fig. 3. The perspective viewing volume and the ray defined through user’s

input.

Fig. 4. The fundamental PointProjection algorithm. Fig. 5. The algorithm for estimating the optimal projection of p onto cn:

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122114

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 7: Drawing curves onto a cloud of points for point-based modelling

In the opposite case, the vertex p is moved to the current pp

ðp U ppÞ and a new iteration commences with redefining

cn : cloud points with a weight smaller than the current

alimit are removed from cn; for the reasons explained

above. Finally, if amax ¼ 1 ¼ ak; the algorithm terminates

and returns as projection vertex the cloud point pk:

An in-depth experimental evaluation of the accuracy and

robustness of the proposed point-projection method is given

in the following section.

2.5. Numerical/experimental results

In order to investigate the performance of the proposed

PointProjection algorithm, several experiments have been

conducted. Two representative sets of results are discussed

to illustrate the accuracy and robustness of this algorithm.

2.5.1. Testing the effectiveness of the PointProjection

algorithm for a thin cloud of points

The first experiment investigates the accuracy of

PointProjection for thin point clouds, i.e. clouds of

points lying exactly on a mathematical surface (this is the

case here) or on a polygonal surface. Several clouds CN ;

with a varying density, have been derived from a known

cubic B-spline surface. The number of points ranges from

N ¼ 10; 000 to 300,000. Four specific vertices pi ¼ kpi;

nil; i ¼ 0;…; 3; are projected onto each CN using

PointProjection, producing four ppi;N vertices per cloud.

The intersection psi;N of the axis defined by pi and ni with

the given B-spline surface is pre-computed using a

modified Newton method. Finally, the Euclidean norm

Ri;N ¼ kpsi;N 2 pp

i;Nk is used for measuring the accuracy of

PointProjection.

Table 1 summarizes the obtained results. Several

interesting conclusions are derived:

† The accuracy of the projection (measured by Ri;N) is very

satisfactory: the average value of Ri;N is 0.05 mm even

when N is relatively small.

† Although the employed threshold 1 ¼ 1026 mm is quite

small, the convergence of the algorithm is fast; in the

worse case, seven iterations are required.

† The required execution time is quite small (see fifth

column of Table 1) despite the fact that no special

‘acceleration techniques’ (like bucketing) are included in

this version of PointProjection.

† Generally, when the number of points is increased the

corresponding projection error is reduced. Although,

some minor deviations have been observed (i.e. for

i ¼ 2; 3), these are due to two reasons: the numerical

nature of the computation of both psi;N and pp

i;N ; and the

varying cardinality of the final working sub-cloud cn:

Generally a change in the cardinality of the working sub-

cloud implies a change in relations (4) which in turn may

result to slightly altered results.

2.5.2. Testing the effectiveness of the PointProjection

algorithm for a thick cloud of points

The second experiment focuses on the efficiency of the

PointProjection algorithm for a thick cloud of points,

which is defined to be any cloud that is not thin. Indeed,

in many modern applications, one deals with highly

accurate clouds where the point-density is comparable to

the point-error (or ‘cloud thickness’). Here, it is mean-

ingless to triangulate the given points as this would

produce triangles of ‘sub-pixel size’ [3] or a surface

which would not be unambiguously defined.

Our aim is to test whether the projected vertices

lie within the boundaries of the given thick cloud. Also, a

robust algorithm should produce consistent results with

respect to the cloud thickness: when the thickness is

reduced the projection error should be reduced

accordingly.

For this experiment, a series of clouds CrN with a

varying thickness have been produced. The initial cloud

C0N is derived by calculating points on a known cubic

B-spline surface, i.e. p0m ¼ Sðum; vmÞ: Additional clouds

are produced by adding to each cloud point in C0N a ‘noise

factor’ along the corresponding normal direction of the

initial B-spline surface S: Specifically, the cloud CrN

Table 1

Numerical results of the PointProjection algorithm with a cloud surface

with increasing density

i iter Ri;N (mm) Final

sub-cloud

Time (s) N

0 4 0.070434 1 0.005844 10,000

0 4 0.070434 1 0.017753 30,000

0 8 0.018149 2 0.040418 60,000

0 4 0.008543 1 0.065357 100,000

0 4 0.008543 1 0.086174 140,000

0 4 0.008543 1 0.123222 200,000

0 4 0.008543 1 0.186434 300,000

1 4 0.123624 1 0.005813 10,000

1 4 0.123624 1 0.018155 30,000

1 5 0.113043 2 0.037524 60,000

1 5 0.113043 2 0.062263 100,000

1 5 0.075981 3 0.087527 140,000

1 5 0.075981 3 0.125088 200,000

1 6 0.063970 4 0.194163 300,000

2 4 0.015238 1 0.005459 10,000

2 6 0.012163 2 0.017900 30,000

2 6 0.009992 3 0.038129 60,000

2 6 0.009992 3 0.064427 100,000

2 4 0.010989 1 0.084991 140,000

2 4 0.010989 1 0.120740 200,000

2 4 0.010989 1 0.184584 300,000

3 4 0.062142 1 0.005572 10,000

3 4 0.062142 1 0.017471 30,000

3 6 0.029960 2 0.037981 60,000

3 6 0.029960 2 0.063716 100,000

3 7 0.029960 2 0.092502 140,000

3 6 0.031314 3 0.129766 200,000

3 6 0.031314 3 0.231826 300,000

The surface bounding box is 246 £ 38 £ 102 mm, 1 ¼ 1026 mm.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 115

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 8: Drawing curves onto a cloud of points for point-based modelling

includes the points

prm ¼ Sðum; vmÞ þ r·dr·nðum; vmÞ; ð12Þ

where r is the cloud’s ‘thickness factor’, dr represents a

random number ðdr [ ½21; 1�Þ which is different for

each prm; and nðum; vmÞ is the unit normal-vector of the

surface S: Thus, the actual thickness of CrN is not

constant and varies between ½2r; r� with respect to the

first cloud C0N ; which corresponds to r ¼ 0 (this cloud is

also considered as the mean cloud). This thickness

variation increases significantly the complexity of the

experiment.

Four vertices pi ¼ kpi;nil; i ¼ 0;…; 3 (different from

those used in Section 2.5.1) are projected onto each CrN

using the PointProjection algorithm, producing four ppi;r

vertices per cloud. The intersection of the axis defined by pi

and ni with S is psi;r: Finally, the Euclidean norm Ri;r ¼

kpsi;r 2 pp

i;rk is used for quantifying the accuracy of the

projection. All the obtained results are listed in Table 2.

Some observations:

† Although the employed threshold 1 ¼ 1026 mm is quite

small, the convergence of the algorithm is fast: on an

average, less than 14 iterations are required.

† The computed error Ri;r is significantly smaller than

r; implying that the proposed algorithm is

consistently accurate for cloud surfaces with variable

thicknesses.

† The produced results comply with the general obser-

vation: if r! 0 then Ri;r ! 0; which is a direct

consequence of the conclusion derived in Section 2.1.2.

There are some cases, though, that this observation does

not hold, like for instance ði; rÞ ¼ ð0; 0:5Þ and ði; rÞ ¼

ð1; 4Þ: In the first case, we notice a decrease in the

projection accuracy, while in the latter case, the

projection accuracy is higher than that of the thin clouds

produced for r , 4: Both cases are explained if we take

into account that the thickness of each cloud is not

constant but varies between ½2r; r�: Thus, it is likely that

in the neighbourhood of a point psi;r the cloud thickness is

much smaller than r resulting to a very small Ri;r and

vice versa.

2.5.3. Conclusions

Two extensive experiments have been presented estab-

lishing the accuracy and robustness of the proposed

PointProjection algorithm. The former is confirmed by

projecting a series of vertices onto thin clouds with a

varying number of points. The latter is illustrated by

projecting a set of vertices onto a series of thick clouds of

varying thickness. It must be emphasized that (a) for both

experiments, we have visually confirmed that the produced

results are compatible with the intuitively expected output,

and (b) similar results have been obtained for about a dozen

other data-sets including both academic and industrial

cases.

3. Interactive design of discrete curves onto a cloud

of points

This section focuses on constructing ‘discrete (or digital)

curves’ onto a given ‘digital surface’. The proposed ‘design

paradigm’ is point-based, thus, the surface model is the

cloud of points while smooth curves are approximated by a

finite number of vertices, defined interactively by a

designer/stylist. Given as input an ordered sequence of

vertices pi ¼ kpi; nil the output of the following design tools

is either a linear or a higher-order curve (in the pointwise

sense) which either interpolates or approximates the

projections ppi of pi onto CN and ‘lies’ onto the given

cloud surface. The PointProjection algorithm is the main

part of this process, which is supported by the method

for specifying the projection directions described in

Section 2.3.

Table 2

Numerical results of the PointProjection algorithm with a series of cloud

surfaces with decreasing thickness

i iter Ri;r (mm) Final

sub-cloud

r (mm)

0 17 2.233382 5 4

0 13 1.835266 5 3.2

0 11 1.482495 5 2.5

0 9 1.441944 5 2

0 10 1.084490 5 1.5

0 10 0.414982 5 1

0 10 0.004411 5 0.5

0 13 0.061961 5 0

1 76 0.035033 5 4

1 20 0.538647 5 3.2

1 17 0.308358 5 2.5

1 18 0.159938 5 2

1 15 0.096234 5 1.5

1 13 0.050045 5 1

1 13 0.067558 5 0.5

1 5 0.053186 7 0

2 10 0.837105 5 4

2 10 0.610330 5 3.2

2 9 0.410340 5 2.5

2 10 0.107808 5 2

2 8 0.069722 5 1.5

2 7 0.037446 5 1

2 7 0.356098 5 0.5

2 5 0.018793 5 0

3 10 1.120749 5 4

3 11 0.874228 5 3.2

3 13 0.632466 5 2.5

3 16 0.336782 5 2

3 15 0.222144 5 1.5

3 13 0.122572 5 1

3 11 0.254029 5 0.5

3 11 0.085678 5 0

The surface bounding box is 246 £ 38 £ 102 mm, N ¼ 10; 000;

1 ¼ 1026 mm.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122116

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 9: Drawing curves onto a cloud of points for point-based modelling

3.1. Designing line segments onto a cloud of points

Utilizing the proposed point projection algorithm, it is

possible to develop a scheme where the user will be able to

trace ‘digital curves’ onto clouds of points. The simplest

type of curves that can be constructed are piecewise linear

curves or «polylines». Each polyline is created after

projecting user-defined vertices pi onto the cloud surface

and connecting successive projected-vertices ppi with line

segments. Since the cloud surface is curved, these line

segments, in general, do not lie, in any sense, on the given

cloud. Thus, the curve tracing application is equivalent to

Definition 2 (Line-segment projection: explicit defi-

nition). Given a cloud of points CN and two vertices pi ¼

kpi; nil; piþ1 ¼ kpiþ1;niþ1l; the line-segment qi is defined

with end-points the projected (onto CN) vertices ppi and pp

iþ1

qiðuÞ ¼ ð1 2 uÞppi þ upp

iþ1; u [ ½0; 1�

Then, the projection of qi onto CN is the curve qpi ðuÞ defined

as follows: each point qiðuÞ is equipped with the projection

vector niðuÞ ¼ ð1 2 uÞni þ uniþ1; u [ ½0; 1�; and is pro-

jected onto CN according to Definition 1.

Definition 3 (Line-segment projection: approximate

construction). Given a cloud of points CN and two vertices

pi ¼ kpi;nil; piþ1 ¼ kpiþ1; niþ1l; the line-segment qi is

defined with end-points the projected (onto CN) vertices

ppi and pp

iþ1

qiðuÞ ¼ ð1 2 uÞppi þ upp

iþ1; u [ ½0; 1�

Then, the projection of qi onto CN is the curve qpi defined

by the following procedure:

(1) Initialization: qpi ¼ {pp

i ppiþ1}

(2) For each line-segment in qpi which is not labelled as

terminal, project its midpoint and replace it with the

two new line-segments.

(3) Examine the ‘projection distance’ for all midpoints

considered in step 2. When this is found to be smaller

than the ‘working accuracy’ epsilon, the corresponding

segments are labelled as terminal, OR

(4) If the length of a line segment is smaller that a

minimum allowed value then label it as terminal.

GOTO step 2.

Note 2. In the rest of this paper, we consider that the

projection of a line-segment according to Definition 3 is

equivalent to projecting a set pi ¼ {pi;k ¼ kpi;k; ni;kllk ¼

0;…; kðiÞ2 1} of kðiÞ distinct nodes pi;k derived through

Definition 3/Step 2.

Although each segment qi is linear, its projection qpi onto

CN ; according to Definition 3, is a polyline ‘following the

local curvature’ of the cloud surface. To illustrate this effect,

we consider the cloud of points shown in Fig. 6. The three

vertices shown in Fig. 6a define a two-segment polyline

which clearly is far from being ‘on’ (in any possible sense)

the cloud surface. Fig. 6b depicts the projection of this

polyline onto the cloud, according to Definition 3, which

‘follows the local curvature’ of the given cloud surface. In

the following discussion, the polylines designed by the user

will be called ‘design polylines’ or ‘d-polylines’, not to be

confused with projected polylines or ‘p-polylines’. We will

also use the terms ‘d-segments’ and ‘p-segments’ for user-

defined and projected line-segments, respectively.

An industrial example for the introduced ‘3D polyline

design method’ is presented in Fig. 7: in footwear industry,

the designers make several sketches onto the surface of a

last. These sketches correspond to the basic style lines of the

shoe design which are eventually utilized in the pattern

engineering process. In Fig. 7a the style lines of a shoe are

designed using d-polylines which are then projected onto

the last as in Fig. 7b. The ‘projected design’ in Fig. 7b lies

onto the cloud surface as it is apparent near the surface

silhouette.

The wrinkling effect. Taking a closer look at the

p-polylines of Figs. 6b and 7b, one is able to trace certain

Fig. 6. The projection of d-polylines onto a cloud of points. (a) Initial d-polyline. (b) Final p-polyline.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 117

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 10: Drawing curves onto a cloud of points for point-based modelling

wrinkles in some of them; see, e.g. the ‘girth line’ in the

shoe design of Fig. 7b, located in the forepart of the last.

This wrinkling is a direct result of the 3D nature of the

‘polyline projection-problem’ and of the fact that different

parts of a p-polyline are affected by different cloud points.

Thus, one faces the problem of smoothing p-polylines,

which is a direct extension to 3D of the standard ‘2D

polyline smoothing problem’ [14]. This is exactly the

subject of the following sub-section.

3.2. Smoothing projected segments

The projection of a line segment qi onto a cloud of points

transforms qi into a polyline qpi : Since this transformation is

performed by taking into account solely the minimization of

Eq. (1), random local variations may occur in qpi ; which, in

turn, cause the wrinkling effect described in Section 3.1.

One way to construct a smoothed projection of qi onto

CN is to incorporate into the projection process the

constraint that the length of the resulted p-polyline qpi

must be minimized. In this way, it is possible to reduce the

wrinkling effect by ‘stretching’ the produced p-polyline.

Similar approaches have been adopted by other researchers

to solve related modelling problems: Felderman [14] deals

with 2D polyline fairing and proposes a procedure

adjusting vertices, within a given tolerance, so that

the total length of the polyline is minimized. Furthermore,

the discrete-curvature notion is used by others to fair

pointsets in two or three-dimensions [12,22]. None of the

published works addresses the problem of smoothing a

polyline drawn onto a point cloud. This problem is studied

and solved below.

In view of Definition 3 and Note 2, there are two ways to

enhance the projection method of Definition 3 towards an

algorithm that also smoothes the projection:

Smoothing methodology A: Incorporate a smoothing

method into Definition 3. This approach is not efficient

(our experiments have confirmed this) as Definition 3

calculates the projected vertices sequentially, thus one can

only employ a ‘local smoothing technique’ optimizing the

location of a specific projected vertex in relation to those

already calculated.

Smoothing methodology B: Simultaneously projecting

and smoothing a discretization of a line segment. With

respect to Note 2, we conclude to an alternative definition

for a smooth projection:

Definition 4 (Smooth projection). Given a line segment qi

represented by a set pi ¼ {pi;k ¼ kpi;k;ni;kllk ¼ 0;…;kðiÞ21}

of kðiÞ distinct nodes pi;k; the smooth projection of qi onto

CN is a p-polyline qpi ¼ {pp

i;k} minimizing the energy

function

Ei ¼ ð1 2 gÞPi þ gLi; g [ ½0; 1�; ð13Þ

where

Pi ¼XkðiÞ21

k¼1

Eðppi;kÞ ð14Þ

and

Li ¼XkðiÞ22

k¼0

kppi;k 2 pp

i;kþ1k2

ð15Þ

expresses the length of the p-segment qpi :

Each ppi;k is defined by pp

i;k ¼ pi;k þ tkni;k (compare with

Eq. (2)), thus, the whole p-polyline qpi is defined by the

vector t ¼ ðtkÞ ðk ¼ 1;…; kðiÞ2 1Þ holding the unknown

parameters tk: Eq. (13) is a convex combination of two

functionals, and it is minimized when the parameter vector t

is the solution of the linear system

½ð1 2 gÞI þ gA�t ¼ ð1 2 gÞb þ gc; ð16Þ

Fig. 7. (a) A basic shoe design sketched onto the cloud surface of a last ðN ¼ 6000Þ utilizing d-polylines. (b) The projection of polylines onto the cloud surface

(p-polylines).

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122118

USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
USER
高亮
Page 11: Drawing curves onto a cloud of points for point-based modelling

i.e.

t ¼ tðgÞ ¼ ½ð1 2 gÞI þ gA�21½ð1 2 gÞb þ gc� ð17Þ

which is a second-degree vector equation with respect to g:

A is a ðkðiÞ2 2Þ £ ðkðiÞ2 2Þ tridiagonal and symmetric

matrix. The three non-zero elements of the kth row of A are

Ak;k21 ¼ 2ni;k21·ni;k

Ak;k ¼ 2

Ak;kþ1 ¼ 2ni;k·ni;kþ1

; for k ¼ 2;…; kðiÞ2 3; ð18Þ

With

A1;1 ¼ 2; A1;2 ¼ 2ni;1·ni;2

AkðiÞ22;kðiÞ23 ¼ 2ni;k22·ni;k23

AkðiÞ22;kðiÞ22 ¼ 2

ð19Þ

The kth element of vector c is given by

ck ¼ ðpi;k21 2 pi;kÞ·ni;k þ ðpi;k 2 pi;kþ1Þ·ni;k; ð20Þ

for k ¼ 1;…; kðiÞ2 1

While the kth element of vector b is

bk ¼lk 2 pi;k·ni;k

kni;kk2

; for k ¼ 1;…; kðiÞ2 1; ð21Þ

where

lk ¼c1

i;knxi;k þ c2

i;knyi;k þ c3

i;knzi;k

c0i;k

and the scalars c0i;k; c1

i;k; c2i;k; c3

i;k are defined by Eq. (4) for

each pi;k; and I is the ðkðiÞ2 2Þ £ ðkðiÞ2 2Þ identity matrix.

A smoother projected polyline, with larger deviation

from the cloud of points, will be produced by a large g

than the one corresponding to a small g: For g ¼ 0; one

obtains a highly accurate projection but, most probably,

with the wrinkling effect shown in Figs. 1b, 6b and 7b.

For g ¼ 1; the result is a straight line segment

connecting the two boundary vertices pi;0 and pi;kðiÞ21;

see Fig. 6a.

Fig. 8 presents the pseudo-code implementation of the

above smooth projection method. The procedure Smooth-

SegProjection computes the related matrices and vectors

using Eqs. (18)–(21). We use LU decomposition and a

fast forward/backward substitution (: an OðkðiÞÞ process),

to compute the solution (17). This directly produces the

spatial position of the nodes ppi;k of the p-polyline qp

i :

Fig. 9 shows the result of applying the aforementioned

procedure to the polylines of the basic shoe design of

Fig. 7. Notice the significant improvement in the shoe

girth polyline which now is quite smooth, i.e. free of

undesirable wrinkles. The same holds for all polylines in

this shoe design. For the majority of our experiments we

have used g ¼ 0:5 which corresponds to an acceptable

compromise between ‘smoothness’ and ‘accuracy’. One

may wish to fine-tune g to further improve the obtained

results. In practical applications, selection of g is based on

a trial-and-error approach where the user interactively

selects g via an appropriate user interface tool.

3.3. Designing ‘digital splines’ onto clouds of points

Although polylines are quite flexible and relatively easy

to construct, designers also need smooth curves which, in

current CAD systems, are modelled as splines of low

degree. With current CAD technology, tracing curves on

polynomial surfaces is not a straightforward operation as the

user or the CAD system has to ensure that the designed

curve will not overshoot the given surface. Below, it is

Fig. 8. The proposed algorithm for the smooth projection of a segment qi

onto a cloud of points.

Fig. 9. The smooth projection of d-polylines onto the cloud surface of a last

ðg ¼ 0:5Þ:

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 119

USER
高亮
USER
高亮
Page 12: Drawing curves onto a cloud of points for point-based modelling

established that curve design on point clouds is not as

complicated as its counterpart in standard ‘continuous

CAD’ systems.

Our approach for designing polynomial-spline

curves onto cloud surfaces uses an interpolation method

[27, Section 9.3.4] to construct a smooth spline of j-degree

pjðuÞ interpolating user-defined vertices of a d-polyline.

Using the same scheme, it is also possible to calculate the

corresponding projection direction njðuÞ: A node-set pj of

distinct nodes is derived from pjðuÞ which is eventually

projected onto the cloud surface. The final result is a

polyline tracing a smooth trajectory onto the cloud of points.

The discretization of pjðuÞ can be achieved using the

method in Ref. [35], which ensures that the topology of the

resulting linear approximation is consistent with that of

the initial curve.

Projecting pj onto the cloud of points is a straightforward

application of either the PointProjection or the Smooth-

SegProjection algorithm provided that at least the two

boundary vertices of pj are fixed. Two alternative

definitions for a digital curve are proposed:

Definition 5 (Digital curve). A digital curve is defined as

the result of the projection of the node-set pj onto CN

according to Definition 1.

Definition 6 (Smooth digital curve). A smooth digital

curve is defined as the result of the smooth projection of the

node-set pj onto CN according to Definition 4.

An example of designing digital curves is shown in

Fig. 10a. The wrinkling effect is present again especially in

the girth curve in the forepart of the shoe last. This problem

is resolved utilizing smooth digital curves with very

satisfactory results as shown in Fig. 10b (see also Fig. 1c).

Fig. 10. Two approaches to construct digital curves onto a cloud surface. The initial d-polylines have been replaced by pointsets derived from the original cubic

B-splines. (a) Digital curves designed onto the cloud surface without smoothing ðj ¼ 3Þ: (b) Smooth Digital Curves designed onto the cloud surface (j ¼ 3;

g ¼ 0:5).

Fig. 11. Application of the proposed methods for designing wearing apparel

in a human body cloud surface.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122120

USER
高亮
USER
高亮
Page 13: Drawing curves onto a cloud of points for point-based modelling

The lines of the shoe design are smooth and lie onto the

cloud surface. Similar results have been obtained for many

other ‘design scenarios’, which provide ample justification

for the effectiveness of the proposed digital curve design-

method. As far as execution time is concerned, the total

computational time for constructing all the digital curves in

Fig. 10b did not exceed 0.3 s, demonstrating also the

method’s efficiency.

4. Discussion–conclusions

Using digital surfaces, defined by clouds of points, as a

primary CAD-model is an increasing trend in the Computer-

Aided Design and Graphics communities, caused primarily

by the availability of powerful desktop systems able to

swiftly process hundredths of thousands of points. This

requires development of appropriate tools for designing

with these new models, including digital curve-drawing

which is the subject of this paper.

Currently, the proposed techniques have been success-

fully implemented in a prototype CAD system for footwear

design, developed by ‘ELKEDE—Technology and Design

Centre’. Further, preliminary experiments have been

conducted regarding application of the present curve-design

methods to garment design, and the results have been

satisfactory. Such an example is shown in Fig. 11, where a

t-shirt is sketched onto the cloud surface of a human body.

There are a lot of issues that should be further

investigated in relation to the proposed tools for curve

design. One approach is to search for more accurate or

faster point projection methods and/or better weight

functions. Another point for future research is the

derivation of smoothing functionals for resolving the

wrinkling effect, which will be based on minimizing

‘discrete curvature’.

Our future research will also be focus on integrating the

proposed design tools with variational subdivision schemes

[18]. These curve/surface models seem appropriate for

point-based CAD since they are based on the methodology

used also here: computing pointsets by minimizing energy

functionals (Definitions).

Acknowledgements

The authors wish to express their sincere appreciation to

the Editor John Woodwark and three anonymous referees,

whose comments significantly improved this paper. Part of

this research has been conducted in the R and D Department

of the Research Centre ‘ELKEDE—Technology and Design

Centre’ (www.elkede.gr) for the development of a footwear

CAD system. The human body data-set of Fig. 11 was

offered by Athens Technology Centre SA and originated in

the European Anthropometric Database (Pilot Sizing

Survey data/E-Tailor project, IST-1999-10549, funded by

the European Commission). This data set was scanned at the

Hohenstein Institute with a Human Solutions Vitus-Smart

Scanner.

References

[1] Azariadis P. Parameterization of clouds of unorganized points using

dynamic base surfaces. Comput-Aided Des 2004;36(7):607–23.

[2] Adamson A, Alexa M. In: Kobbelt L, Schorder P, Hoppe H, editors.

Approximating and intersecting surfaces from points, in eurographics

symposium on geometry processing. 2003. p. 230–9.

[3] Alexa M, Behr J, Cohen-Or D, Fleishman S, Levin D, Silva C.

Computing and rendering point set surfaces. IEEE TVCG 2003;9(1):

3–15.

[4] Amenta N, Bern M, Kamvysselis M. A new Voronoi-based surface

reconstruction algorithm. In: Proceedings of the SIGGRAPH ’98,

Computer Graphics Proceedings, Annual Conference Series; 1998.

p. 415–22.

[5] Jean-Daniel B, Frederic C. Smooth surface reconstruction via natural

neighbour interpolation of distance functions. Comput Geom 2000;

223–32.

[6] Benko P, Kos G, Varady T, Andor L, Martin R. Constrained fitting

in reverse engineering. Comput Aided Geom Des 2002;19(3):

173–205.

[7] Benko P, Varady T. Segmentation methods for smooth point regions

of conventional engineering objects. Comput-Aided Des 2004;36(6):

511–23.

[8] Boonning R, Muller H. Interactive sculpturing and visualization of

unbounded voxel volumes. Proceedings of the Seventh ACM

Symposium on Solid Modeling and Applications; 2002. p. 212–9.

[9] Benouamer M, Michelucci D. Bridging the gap between CSG and

Brep via a triple ray representation. Proceedings of the Fourth ACM

Symposium on Solid Modeling and Applications; 1997. p. 68-79.

[10] Cripps R. Algorithms to support point-based cadcam. Int J Mach

Tools Manufact 2003;43(4):425–32.

[11] Corbo P, Germani M, Mandorli F. Aesthetic and functional analysis

for product model validation in reverse engineering applications.

Comput-Aided Des 2004;36(1):65–74.

[12] Eck M, Jaspert R. In: Sapidis N, editor. Automatic fairing of point

sets, designing fair curves and surfaces: shape quality in geometric

modelling and computer-aided design. Philadelphia, PA: Society for

Industrial and Applied Mathematics (SIAM); 1994. p. 45–60.

[13] Erikson C, Manocha D. GAPS: general and automatic polygonal

simplification. Seventh ACM Symposium on Solid Modelling and

Applications, Tutorial T4: Handling Large Geometric Datasets; 2002.

[14] Felderman M. In: Sapidis N, editor. Tight string method to fair

piecewise linear curves, designing fair curves and surfaces: shape

quality in geometric modelling and computer-aided design. Philadel-

phia, PA: Society for Industrial and Applied Mathematics (SIAM);

1994. p. 61–72.

[15] Horvath I, Rusak Z. Collaborative virtual design environments:

collaborative shape conceptualization in virtual design environments.

Commun ACM 2001;44(12):59–63.

[16] Jerard R, Angleton J, Drysdale R, Su P. The use of surface points sets

for generation, simulation, verification and automatic correction of

NC machining programs. Proceedings of the NSF Design and

Manufacturing Systems Conference, Tempe, AZ, Society of Manu-

facturing Engineers; 1990. p. 143–8.

[17] Jansson J, Vergeest J. A discrete mechanics model for deformable

bodies. Comput-Aided Des 2002;34(12):913–28.

[18] Kobbelt L, Schroder P. A multiresolution framework for variational

subdivision. ACM Trans Graph 1998;17:209–37.

[19] Lee I. Curve reconstruction from unorganized points. Comput Aided

Geom Des 2000;17(2):161–77.

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122 121

USER
高亮
USER
高亮
USER
高亮
Page 14: Drawing curves onto a cloud of points for point-based modelling

[20] Llamas I, Kim B, Gargus J, Rossignac J, Shaw C. Twister: a space-

warp operator for the two-handed editing of 3D shapes. ACM Trans

Graph 2003;22(3):663–8.

[21] Liu G, Wong Y, Zhang Y, Loh H. Error-based segmentation of cloud

data for direct rapid prototyping. Comput-Aided Des 2002;35(7):

633–45.

[22] Liu GH, Wong YS, Zhang YF, Loh HT. Adaptive fairing of digitized

point data with discrete curvature. Comput-Aided Des 2002;34(4):

309–20.

[23] McLaughlin W. Describing the surface: algorithms for geometric

modelling. Comput Mech Eng 1986;38–41.

[24] Menon J, Marisa R, Zagajac J. More powerful solid modeling through

ray representations. IEEE Comput Graph Appl 1994;14(3):22–35.

[25] Muller H, Surmann T, Stautner M, Albersmann F, Weinert K. Online

sculpting and visualization of multi-dexel volumes. Proceedings of

the Eighth Symposium on Solid Modeling and Applications 2003;

258–61.

[26] Pottmann H, Randrup T. Rotational and helical surface approximation

for reverse engineering. Computing 1998;60(4):307–22.

[27] Piegl L, Tiller W. The NURBS book. Berlin: Springer; 1997.

[28] Qin S, Harrison R, West A, Jordanov I, Wright D. A framework of

web-based conceptual design. Comput Ind 2003;50(2):153–64.

[29] Rusak Z, Horvath I, Kuczogi G, Akar E. Shape instance generation

from domain distributed vague models. Proceedings of the DETC ’02

ASME Design Engineering Technical Conferences and Computers

and Information in Engineering Conference, Montreal; 2002.

[30] Schweikardt E, Gross M. Digital clay: deriving digital models from

freehand sketches. Automat Construct 2000;9(1):107–15.

[31] Vergeest J, Horvath I, Spanjaard S. A methodology for reusing

freeform shape content. Proceedings of the Design Theory

and Methodology Conference, DETC’01/DTM-21708, New York:

ASME; 2001.

[32] Varady T, Martin RR, Cox J. Reverse engineering of geometric

models—an introduction. Comput-Aided Des 1997;29(4):255–68.

[33] Weiss V, Andor L, Renner G, Varady T. Advanced surface fitting

techniques. Comput Aided Geom Des 2002;19(1):19–42.

[34] Woo H, Kang E, Wang S, Lee K. A new segmentation method

for point cloud data. Int J Mach Tools Manufact 2002;42(2):

167–78.

[35] Cho W, Takashi M, Nicholas PM. Topologically reliable approxi-

mation of composite Bezier curves. Comput Aided Geom Des 1996;

13(6):497–520.

[36] Wu D, Sarma R. The incremental editing of faceted models in

an integrated design environment. Comput-Aided Des 2004; in

press.

[37] Wu Y, Wong Y, Loh H, Zhang Y. Modelling cloud data using an

adaptive slicing approach. Comput-Aided Des 2004;36(3):231–40.

[38] Yin Z. Reverse engineering of a NURBS surface from digitized points

subject to boundary conditions. Comput Graph 2004;28(2):207–12.

[39] Yin Z, Jiang S. Automatic segmentation and approximation of

digitized points for reverse engineering. Int J Product Res 2003;

41(13):3045–58.

[40] Zwicker M, Pauly M, Knoll O, Gross M. Pointshop 3D: an interactive

system for point-based surface editing. ACM Trans Graph 2002;

21(3):322–9. Special issue: Proceedings of ACM SIGGRAPH.

Phillip N. Azariadis holds a mathematics

degree from the Department of Mathematics

(1990–1994) and a PhD from the Mechanical

Engineering and Aeronautics Department

(1995–1999) of the University of Patras,

Greece. Currently he is Director of the

Research & Technology Department of the

Greek research centre ‘ELKEDE—Tech-

nology and Design Centre SA’ and also an

instructor at the Department of Product and

Systems Design Engineering of the Univer-

sity of the Aegean. His background and research activities are focused in the

areas of Computer-Aided Design and Manufacture, Reverse Engineering,

Computer Graphics and Robotics. His work has been published in leading

international scientific journals and conference proceedings. He has

participated in various research projects funded by EC or national bodies.

Nickolas S. Sapidis is currently an Associ-

ate Professor with the Department of

Product and Systems Design Engineering

of the University of the Aegean. He holds

degrees in Naval Architecture & Marine

Engineering, Applied Mathematics and

Mechanical Engineering. He received his

PhD in Mechanical and Aerospace Sciences

from the University of Rochester in 1993.

He has taught at the Hellenic Air Force

Academy, the National Technical Univer-

sity of Athens (NTUA), the University of

Athens and the Polytechnic University of Catalunya (Spain). Also, he has

been providing education/training services to major Greek corporations like

Elefsis Shipyards and the Bank of Greece. His industrial experience, on

CAD/CAE research/development/application, includes General Motors

R&D Center and GM Design Center (USA) as well as Marine Technology

Development Co (Greece). For six years, he was a researcher with NTUA’

Ship-Design Laboratory where he led research activities of an ‘Autodesk

Educational Software Development Team’. Sapidis is the author of more

than 40 papers on curve and surface modeling/fairing/visualization, discrete

solid models, finite-element meshing, reverse engineering of surfaces, and

recently on solid modeling of design constraints. His research has been

implemented in industrial CAD/CAE systems by MIT, GM, Intergraph and

KCS (now Tribon Solutions). He has edited two books, guest-edited three

journal special-issues and served on 10 conference program-committees.

N. Sapidis is on the Advisory Editorial Board of CAD and of the

International Journal of Product Development (IJPD).

P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109–122122