region. The curve will consist of more feature points,
and it will describe the region points more accurately.
On the other hand, if we restrict the voronoi vertices
within a radius, it will take fewer steps to update the
curve, the feature points will be fewer, but the curve
would describe the region points less accurately. We
use this parameter to adapt the curve fitting accord-
ing to user specifications requirement or quality of
approximation guaranties. Figure 7 illustrates the re-
sulting curve in case we choose the farthest voronoi
vertex within a restricted area each time. If we had
chosen the farthest voronoi vertex in each step, the
resulting curve would consist of more feature points.
The curve would describe the slice points more accu-
rately, but more iterations would be required to fully
update the curve.
The method, as applied to a specific slice, is sum-
marized as follows (following the notation of Section
3):
Input: a set
P
of points, Slice
i
Output: an ordered set
F
i
of feature points
step 1:
(P
(3D)
i
, L) = slice(i, P)
step 2:
P
i
= project(P
(3D)
i
, L)
step 3:
F
i
= qconvex(P
i
)
step 4: for each region
P
ij
of
F
i
if
avg dist(P
ij
, F
ij
) > e
V
i
= qvoronoi(P
ij
)
V
max
= farthest
vertex(V
i
, P
ij
)
F
ij
= largest circle(V
max
, P
ij
)
end if
end for
F
i
= F
i
∪ F
ij
if
changes made = true
repeat step 4
end if
step 5: return
F
i
5 PERFORMANCE
Both the convex hull and the voronoi diagram require
O(nlogn) operations. Apart from computing the con-
vex hull and the voronoi diagram for each region, the
rest of operations require O(n), where n is the number
of points in the cloud. These operations include: (a)
loading the cloud into memory, (b) slicing the cloud,
and (c) projecting the slice points on the slice. Other
operations that require O(n) are (d) selecting the ap-
propriate voronoi vertex for each region, and (e) to
identify the feature points for that region.
To compute the convex hull and the voronoi di-
agram for each region, it would take O(n
j
logn
j
),
where n
j
is the number of points in region j. This
means that we need O(
∑
r
j=1
n
j
logn
j
) operations for
slice i, where r is the number of regions, and
O(
∑
s
i=1
∑
r
j=1
n
ij
logn
ij
) for all slices, where s is the
number of slices. This is also accomplished in
O(nlogn), since
∑
s
i=1
∑
r
j=1
n
ij
= n.
One issue is the number of iterations required to
fully fit the curve to the slice points. It depends on
the shape of the points, and in the worst case it may
require up to O(logn
i
) steps the n
i
points of slice i,
i.e. O(logn) for all slices. In practice, it usually takes
only a few steps. In the example of Figure 4, the re-
sulting curve is satisfactory after the second step.
In conclusion, to derive descriptive curves for all
slices of the point cloud takes O(nlog
2
n) time.
6 CONCLUSIONS
We have developed a method for representing cross
sections (slices) of a point cloud, which will be used
to identify the basic features of the object this point
cloud represents. The information extraction process
consists of several steps, which involve the segmenta-
tion of the 3D point cloud in 2D cross sections, and
the extraction of a descriptive curve for the corre-
sponding point slice. The extraction of the curve is
performed either by computing the convex hull of the
desired regions of the slice points, or by computing
the convex hull and the voronoi diagram of the slice
points, and use the largest empty circle for voronoi
vertices of insufficiently described regions to identify
exterior feature points.
REFERENCES
Amenta, N., Bern, M., and Kamvysselis, M. (1998).
A new Voronoi-based surface reconstruction algo-
rithm. Computer Graphics, 32(Annual Conference
Series):415–421.
Attene, M. and Spagnuolo, M. (2000). Automatic surface
reconstruction from point sets in space. Computer
Graphics Forum, 19(3):457–465.
Au, C. and Yuenb, M. (1999). Feature-based reverse engi-
neering of mannequin for garment design. Computer-
Aided Design, 31:751–759.
Jeong, W.-K., Kahler, K., Haber, J., and Seidel, H.-P.
(2002). Automatic generation of subdivision surface
head models from point cloud data. In In Proceedings
Graphics Interface 2002, pages 181–188.
Said, M. A. (2002). Polyline approximation of single-
valued digital curves using alternating convex hulls.
Computer Graphics and Geometry, 4:75–99.
Wu, Y., Wong, Y., Loh, H., and Y.F.Zhang (2004). Mod-
elling cloud data using an adaptive slicing approach.
Computer-Aided Design, 36:231–240.
GRAPP 2007 - International Conference on Computer Graphics Theory and Applications
192