1-s2.0-S0010448504000892-main_2
-
Upload
neelesh-srivastava -
Category
Documents
-
view
214 -
download
0
Transcript of 1-s2.0-S0010448504000892-main_2
-
8/13/2019 1-s2.0-S0010448504000892-main_2
1/14
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, Greeceb
ELKEDETechnology & 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 56 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, polygonmeshes. 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 modelsused 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) 109122www.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).
http://www.elsevier.com/locate/cadhttp://www.elsevier.com/locate/cad -
8/13/2019 1-s2.0-S0010448504000892-main_2
2/14
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 virtualclaying (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 inFig. 1b.
Designing curves onto a cloud of points is a surprisinglydifficult 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. Benkoand
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 papers 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) 109122110
-
8/13/2019 1-s2.0-S0010448504000892-main_2
3/14
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 avoidedwhen 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 surfacereconstruction.
(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 mayhave 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 contradictsall 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 ofthis 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 clouds 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 methods 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 pointcloud.
P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109122 111
-
8/13/2019 1-s2.0-S0010448504000892-main_2
4/14
Secondly, the point of interest is projected onto the cloud
surface by minimizing the above error function.
The current literature does not offer a satisfactorysolution 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 models 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;zmlm 0; ;N2 1} be the
given cloud of points and let p x;y;z be an arbitrary
3D point, hereafter called a vertex, withn nx; ny; nzan
associated projection vector. The pair p; n is denoted by
p kp; nl:Then,
Definition 1 (The directed projection problem). The
directed projection pp ofp; in the direction ofn; onto the
cloud of points CN is defined as follows. Eachpm [ CN is
associated to a positive weightam: Then,pp is the solution of
the problem:
Findpp
minimizingEpp
XN21m0
amkpp
2 pmk2
:
1
The point pp is also called the directed projection ofp
kp; nlonto CN:For given weights {am} (these are specified
in Section 2.2), one writes pp xp;yp;zpas
pp ppt p tn; t[ R 2
Then, the solution of problem (1) is [1]
tl2 pn
knk2
3
where
l c1nx c2ny c3nz
c0; andc0
XN21m0
am;
c1 XN21m0
amxm; c2 XN21m0
amym; c3 XN21m0
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 (seesections 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 Su; v: Then, if Spp is the
projection ofpontoS;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 truelocation:
C0N {p
0m x
0m;y
0m;z
0m;lkp
0m 2 pmk # 1;m 0; ;N2 1}:
Using C0N the corresponding solution of the directed
projection problem is given by
t0
l0 2 pn
knk2
5
where
l0 c01nx c
02ny c
03nz
c0
0
and c00 c0;
c01
XN21m0
amx0m; c
02
XN21m0
amy0m; c
03
XN21m0
amz0m:
Then
lt02 tl
ll0 2 ll
knk2
6
and
ll02 ll
lc01 2 c1nx c02 2 c2ny c
03 2 c3nzl
c0
#1
c0l
c
0
12
c1ll
nxll
c
0
22
c2ll
nyl
lc03 2 c3llnzl
#1
c01
XN21m0
amlnxllnyllnzl
24
35
Then one derives
lt02 tl # 1
XN21m0
amlnxllnyllnzl
c0knk2
# 13knkc0
c0knk2
13
knk
7
Conclusion. Eq. (7) proves that there is a constantscalar k; independent of the cloud of points, such that
P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109122112
-
8/13/2019 1-s2.0-S0010448504000892-main_2
5/14
lt0 2 tl # k1: 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 weightsam play a dominant role in the computation
of pp and thus they should be chosen very carefully. In
general, the weightam $ 0 ofpm [ CNshould take a larger
value whenpmis closer to the vertexp;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
kp2 pmk4
; am [ 0;1; 8
which is adequate for the introduced point-parameterizationmethod. 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 betweenpandpm;kpm 2 pk;as well as the quantity
kpm2 p nk measuring the distance between pm and theaxis defined by p and n:We propose:
am1
1 kpm2pk2kpm2pnk
2 ; 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 theimproved local value-distribution of the weight function (9).
Several vertices are projected onto the cloud surface of ashoe last along the directions shown as dark lines. The larger
amis, 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 withinteractive 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
vertexin the rest of this paper, all user-defined points will
be called verticesas a location in the two-dimensional
screen. Then, the system reverses the transformation process
and maps the specified screen point onto the near and farclipping planes as it is shown inFig. 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;pf2 pn
kpf2 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 inFig. 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) 109122 113
-
8/13/2019 1-s2.0-S0010448504000892-main_2
6/14
and a cloud surface CNand computes the projectionpp ofp
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
102K ; K, 9
ameanamax 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 toFig. 4, the proposed algorithm is initiatedby setting the working sub-cloud equal to the initial one
cn U CN:Then a loop begins and the given vertex pwith
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 users
input.
Fig. 4. The fundamental PointProjection algorithm. Fig. 5. The algorithm for estimating the optimal projection ofp onto cn:
P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109122114
-
8/13/2019 1-s2.0-S0010448504000892-main_2
7/14
In the opposite case, the vertex pis moved to the currentpp
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 pp
i;
N vertices per cloud.The intersection psi;Nof 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;N2 p
p
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 byRi;N) is very
satisfactory: the average value ofRi;Nis 0.05 mm even
when Nis relatively small.
Although the employed threshold 1 1026 mm is quite
small, the convergence of the algorithm is fast; in theworse 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 ofPointProjection.
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 mayresult 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 surfacewhich 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 Sum; vm: Additional clouds
are produced by adding to each cloud point in C0N a noise
factor along the corresponding normal direction of theinitial B-spline surface S: Specifically, the cloud C
rN
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,0001 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) 109122 115
-
8/13/2019 1-s2.0-S0010448504000892-main_2
8/14
includes the points
pr
m Sum;
vm rdrnum;
vm;
12
where r is the clouds thickness factor, dr represents a
random number dr[ 21; 1 which is different for
each prm; and num; 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 C
r
Nusing the PointProjection algorithm, producing four ppi;rvertices per cloud. The intersection of the axis defined bypiand ni with S is p
si;r: Finally, the Euclidean norm Ri;r
kpsi;r2 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; i mplying t hat t he proposed algor it hm i s
consistently accurate for cloud surfaces with variablethicknesses.
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 theprojection 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 between2r; r:Thus, it is likely that
in the neighbourhood of a point psi;rthe cloud thickness ismuch 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
verticespi kpi; nilthe 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 inSection 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 21 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 23 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) 109122116
-
8/13/2019 1-s2.0-S0010448504000892-main_2
9/14
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; ^pi1 kpi1
;
ni1l;
the line-segment qi is definedwith end-points the projected (onto CN) verticespp
i andpp
i1
qiu 12 upp
i upp
i1; u [ 0; 1
Then, the projection ofqionto CNis the curve qp
iudefined
as follows: each point qiuis equipped with the projection
vector niu 12 uni uni1; u [ 0; 1; and is pro-
jected onto CNaccording to Definition 1.
Definition 3 (Line-segment projection: approximate
construction).Given a cloud of points CNand two vertices
pi kpi; nil; pi1 kpi1; ni1l; the line-segment qi is
defined with end-points the projected (onto CN) vertices
pp
i andpp
i1
qiu 12 upp
i upp
i1; u [ 0; 1
Then, the projection ofqionto CNis the curveqp
i definedby the following procedure:
(1) Initialization:qpi {pp
ipp
i1}
(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; ; ki 2 1} of ki distinct nodes pi;k derived through
Definition 3/Step 2.
Although each segmentqiis linear, its projection qp
i 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 inFig. 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. InFig. 7a the style lines of a shoe are
designed using d-polylines which are then projected onto
the last as inFig. 7b. The projected design inFig. 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 ofFigs. 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) 109122 117
-
8/13/2019 1-s2.0-S0010448504000892-main_2
10/14
wrinkles in some of them; see, e.g. the girth line in the
shoe design ofFig. 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 segmentqionto a cloud of points
transformsqiinto a polylineqp
i :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 qpimust 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 researchersto 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 qirepresented by a set ^pi {pi;kkpi;k; ni;kllk 0; ; ki21}
ofki distinct nodes pi;k; the smooth projection ofq i ontoCN is a p-polyline q
p
i {pp
i;k} minimizing the energyfunction
Ei 12 gPi gLi; g[ 0; 1; 13
where
Pi Xki21k1
Epp
i;k 14
and
Li Xki22k0
kppi;k2 pp
i;k1k2
15
expresses the length of the p-segment qpi :
Eachppi;kis 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; ; ki 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
12 gI gAt 1 2 gbgc; 16
Fig. 7. (a) A basic shoe design sketched onto the cloud surface of a last N 6000utilizing d-polylines. (b) The projection of polylines onto the cloud surface
(p-polylines).
P.N. Azariadis, N.S. Sapidis / Computer-Aided Design 37 (2005) 109122118
-
8/13/2019 1-s2.0-S0010448504000892-main_2
11/14
i.e.
t tg 12 gIgA2112 gbgc 17
which is a second-degree vector equation with respect to g:
A is a ki 2 2 ki 2 2 tridiagonal and symmetric
matrix. The three non-zero elements of the kth row ofAare
Ak;k21 2ni;k21ni;k
Ak;k 2
Ak;k1 2ni;kni;k1
; fork 2; ; ki2 3; 18
With
A1;1 2; A1;2 2ni;1ni;2
Aki22;ki23 2ni;k22ni;k23
Aki22;ki22 2
19
Thekth element of vector c is given by
ck pi;k21 2 pi;kni;k pi;k2 pi;k1ni;k; 20
fork 1; ; ki 2 1
While the kth element of vector b is
bk lk2 pi;kni;k
kni;kk2
; fork 1; ; ki2 1; 21
where
lk
c1i;knxi;k c
2i;kn
yi;k c
3i;kn
zi;k
c0i;k
and the scalars c0i;k; c1i;k; c
2i;k; c
3i;kare defined by Eq. (4) for
each pi;k;and I is the ki 2 2 ki 2 2identity 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;ki21;
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 afast forward/backward substitution (: an Oki process),
to compute the solution (17). This directly produces the
spatial position of the nodes ppi;k of the p-polyline qp
i :
Fig. 9shows 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. Onemay wish to fine-tune g to further improve the obtained
results. In practical applications, selection ofgis based on
a trial-and-error approach where the user interactively
selects gvia 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 qionto 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) 109122 119
-
8/13/2019 1-s2.0-S0010448504000892-main_2
12/14
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 ofj-degree
pju interpolating user-defined vertices of a d-polyline.
Using the same scheme, it is also possible to calculate the
corresponding projection direction nju: A node-set ^pj of
distinct nodes is derived from pju which is eventually
projected onto the cloud surface. The final result is apolyline tracing a smooth trajectory onto the cloud of points.
The discretization of pju 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 CNaccording 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 CNaccording 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 verysatisfactory results as shown inFig. 10b (see alsoFig. 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) 109122120
-
8/13/2019 1-s2.0-S0010448504000892-main_2
13/14
-
8/13/2019 1-s2.0-S0010448504000892-main_2
14/14
[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):6638.
[21] Liu G, Wong Y, Zhang Y, Loh H. Error-based segmentation of clouddata for direct rapid prototyping. Comput-Aided Des 2002;35(7):
63345.
[22] Liu GH, Wong YS, Zhang YF, Loh HT. Adaptive fairing of digitized
point data with discrete curvature. Comput-Aided Des 2002;34(4):
30920.
[23] McLaughlin W. Describing the surface: algorithms for geometric
modelling. Comput Mech Eng 1986;3841.
[24] Menon J, Marisa R, Zagajac J. More powerful solid modeling through
ray representations. IEEE Comput Graph Appl 1994;14(3):2235.
[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;
25861.
[26] Pottmann H, Randrup T. Rotational and helical surface approximation
for reverse engineering. Computing 1998;60(4):30722.
[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):15364.
[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):10715.
[31] Vergeest J, Horvath I, Spanjaard S. A methodology for reusing
freeform shape content. Proceedings of the Design Theory
and Methodology Conference, DETC01/DTM-21708, New York:
ASME; 2001.
[32] Varady T, Martin RR, Cox J. Reverse engineering of geometric
modelsan introduction. Comput-Aided Des 1997;29(4):25568.
[33] Weiss V, Andor L, Renner G, Varady T. Advanced surface fittingtechniques. Comput Aided Geom Des 2002;19(1):1942.
[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):
16778.
[35] Cho W, Takashi M, Nicholas PM. Topologically reliable approxi-
mation of composite Bezier curves. Comput Aided Geom Des 1996;
13(6):497520.
[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):23140.
[38] Yin Z. Reverse engineering of a NURBS surface from digitized points
subject to boundary conditions. Comput Graph 2004;28(2):20712.
[39] Yin Z, Jiang S. Automatic segmentation and approximation ofdigitized points for reverse engineering. Int J Product Res 2003;
41(13):304558.
[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):3229. Special issue: Proceedings of ACM SIGGRAPH.
Phillip N. Azariadis holds a mathematics
degree from the Department of Mathematics
(19901994) anda PhD from theMechanical
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 ELKEDETech-
nology and Design Centre SA and also an
instructor at the Department of Product and
Systems Design Engineering of the Univer-
sity of theAegean. Hisbackground andresearchactivities 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) 109122122