Technologies Inc (3DCT, 2010) for regular geomet-
ric shapes. Other techniques for triangulated models
include the work of (Shikhare, 2002) and vector quan-
tization based methods (Hollinger, 2010) where rates
of over 80:1 have been achieved.
The 3D compression method proposed in this pa-
per was devised from our research on fast 3D acquisi-
tion using light structured methods (Robinson, 2004),
(Rodrigues, 2008), (Brink, 2008), (Rodrigues, 2009).
The 3D scanning method is based on splitting the pro-
jection pattern into light planes. Each plane hits the
target object as a straight line and the apparent bend-
ing of the light due to the position of the camera in
relation to the projection allows us to calculate the
depth of any point along the projected light plane.
Taking full advantage of such properties, our method
is closer to polygonal mesh compression but with sig-
nificant differences as it does not depend on search-
ing for local relationships that are most susceptible to
compression. We have achieved compression rates of
free-form surface patches that drastically reduce the
original 3D data by over 99% to a plain text file. Once
in plain text, it can be encrypted and securely trans-
mitted over the network and reconstructed at the other
end.
This paper is organized as follows. Section 2
presents the method and Section 3 describes the in-
stantiation of the method to surface patches. The data
are compressed and reconstructed and a comparative
analysis of polynomials of various degrees is pro-
vided. Finally a conclusion is presented in Section 4.
2 METHOD
2.1 The Surface Patch as an Explicit
Function of Two Variables
The method presented here applies to surface patches
acquired by standard 3D scanning techniques. Any
such patch can be described as a single valued shape
in one dimension where their values are represented
as an explicit function of two independent variables.
The height of a point is represented by their z-value
and we can say that the height of a function (x, y)
is some function f (x,y). The advantage of a single-
valued function is that it has a simple parametric form,
P(u,v) = (u,v, f (u,v)) (1)
with normal vector n(u, v) = (−δ f /δu, −δ f /δv, 1).
Both u and v are the dependent variables for the func-
tion and u-contours lie in planes of constant x, and
v-contours lie in planes of constant y. When such
patch is visualized in 3D using quads, each edge of
the polygons is a trace of of the surface cut by a plane
with x = k
1
and y = k
2
for some values of k
1
and k
2
.
2.2 Sampling and Reconstruction
Given a randomly oriented surface patch described in
relation to a global coordinate system, it is necessary
to orient the surface using the properties of its bound-
ing box. Geometric algorithms exist to approximate
a minimum bounding box of a 3D object defined by
a set of points, e.g. (Lahanas, 2010). The patch must
be rotated until its minimum bounding box edges are
aligned with the x-, y-, and z-axes of the global coor-
dinate system. Normally, the smallest dimension of
the bounding box is aligned with the z-axis. The pro-
posed method is based on sampling surface points at
the intersection of horizontal and vertical mesh cut-
ting planes.
Horizontal and vertical planes are defined as par-
allel to one of the x or y-axes with normal vectors
(1,0,0) and (0, 1, 0) respectively. The intersection of
any two planes defines a line, and the points where
such lines intersect the mesh are sampled. A problem
here is that we cannot guarantee that the intersection
of two planes on the mesh will rest on a vertex. More
likely, it will intersect somewhere on a polygon’s face
somewhere between vertices. A good approximation
is to find the three vertices on the mesh that are the
nearest to the intersection line. Such vertices define
a plane and it then becomes straightforward to deter-
mine the intersection point. Assume that the line has a
starting point S and direction c. The intersection line
is given by
L(t) = S +ct (2)
The solution only involves finding the intersection
point with the generic plane (Hill, 2001). The generic
plane is the xy-plane or z = 0. The line S + ct inter-
sects the generic plane when S
z
+c
z
t
i
= 0 where t
i
is t
“intersection”:
t
i
= −
S
z
c
z
(3)
From equation (2), the line hits the plane at point P
i
:
P
i
= S − c(
S
z
c
z
) (4)
The vector of all points on the mesh belonging to a
particular plane is a sub-set of the sampled points.
Depending on the characteristics of the surface patch,
either the set of points lying in the horizontal or ver-
tical planes can be selected. If the selected points
lye in planes with normal vector (1,0,0), the distance
between each sampled point is the distance between
planes with normal (0, 1, 0) and vice-versa. Calling
EFFICIENT 3D DATA COMPRESSION THROUGH PARAMETERIZATION OF FREE-FORM SURFACE PATCHES
131