Page 1

Efficient Spherical Harmonics Representation of 3D Objects

M. MOUSA

LIRIS, Claude Bernard University Lyon1 - France

{mmousa, rchaine, sakkouch, egalin}@liris.cnrs.fr

R. CHAINES. AKKOUCHEE. GALIN

Abstract

In this paper, we present a new and efficient spherical

harmonics decomposition for spherical functions defining

3D triangulated objects. Such spherical functions are in-

trinsically associated to star-shaped objects. However, our

results can be extended to any triangular object or oriented

point set surface after segmentation into star-shaped sur-

face patches and recomposition of the results in the implicit

framework. There is thus no restriction about the genus

number of the object. We demonstrate that the evaluation

of the spherical harmonics coefficients can be performed by

a Monte Carlo integration over the edges, which makes the

computation more accurate and faster than previous tech-

niques, and provides a better control over the precision

error in contrast to the voxel-based methods. We present

several applications of our research, including fast surface

reconstruction from point clouds, local surface smoothing

and interactive geometric texture transfer.

1. Introduction

In computer graphics community, the spherical harmon-

ics have gained much of interest due to their contribution in

many fields such as global illumination [5], shape descrip-

tors [11, 12], shape reconstruction of star-shaped point set

[22], frequency-based representations and filtering [25, 16].

The spherical harmonics decomposition is naturally applied

to spherical domains (star-shaped objects) and may be ex-

tended to non spherical domains using a prior spherical pa-

rameterization. This can be used in particular to zero genus

3D objects described by triangular meshes [25].

Current methods for computing the spherical harmonics

transform often sample these spherical functions over a reg-

ular grid on the sphere or a 3D grid surrounding the ob-

ject (voxelization) and apply a discrete spherical harmonics

transform algorithm [6, 14, 20] to this regular grid to com-

pute the harmonics coefficients. Spatial grid-based methods

[4, 11, 19] are prone to numerical errors associated with the

size of the cells. It is very difficult to predict the size of the

Figure 1. The model of Thai statue at different

levels of details represented by our spheri-

cal harmonics representation using a band-

width of 24, 64 and 480. The initial data set

of the model is given as an oriented set of

3000k points without any information about

the connectivity.

voxel which satisfies a given error tolerance. In addition,

the complexity of the method increases tremendously as the

voxel size decreases.

In this paper, we present a new and efficient algorithm

for computing the spherical harmonics decomposition of

spherical functions measuring the radial extent of the points

of 3D objects represented as meshes or oriented point sets.

The main contribution of our approach is as follows:

Efficient spherical harmonics

spherical harmonics coefficients is distributed over the

edges thanks to the Curl theorem that permits to reduce a

The evaluation of the

Page 2

first formulation over the triangles.

Error Control

ics coefficients is made through a Monte Carlo method that

generatesauniformlydistributedsetofrandompointsalong

the edges. The precision of each coefficient is also directly

binded on the number of points on each edge. Moreover,

when the spherical harmonics transform is used for filtering

purpose we add more control on the global geometric ap-

proximation error since the spherical harmonics coefficients

are computed progressively until the appropriate bandwidth

is reached.

The evaluation of the spherical harmon-

Processing general objects

shaped, we segment it into star-shaped surface patches and

recompose the local results on each patch. This process can

also be extended to handle point clouds directly without a

prior global mesh reconstruction step, and there is no re-

striction about the genus number of the objects.

If the object is not star-

Local spherical harmonics

formed directly and locally on the surface description of the

object without neither voxelization nor spherical parameter-

ization.

Our computation mainly depends on the geometry and

the normal direction over the surface. If the input object

is described as mesh, the normal information is implicitly

embedded in the description. In the case of point cloud,

we assume that each point is supplied with the correspond-

ing normal. This is a quite usual assumption when working

with point-based objects, otherwise, the normal direction

can be estimated using least square fitting and a consistent

normal orientation can be propagated via a minimum span-

ning tree for the point set [7].

The remainder of the paper is organized as follows. Sec-

tion 2 presents an overview of related work. Section 3

presents fundamental concepts and notations. Section 4

presents our method for accelerating the computation of

the spherical harmonics transform by distributing the com-

putation over the edges of star-shaped meshes. Section 5

presents an extension of our algorithm for computing the

spherical harmonics transform for non star-shaped meshes

and surface point clouds. Section 6 presents some applica-

tions of our approach to demonstrate its efficiency.

The computations are per-

2. Related work

The extension of the spectral concepts to the geometry

of 3D models have gained much of interest during the last

decade. Conceptually, thisgeneralizationisachievedthanks

to the Laplace-Beltrami operator. Taubin [21] has proposed

a spectral method to fair triangular meshes by coding the

cartesian coordinates into differential coordinates at each

vertex using the discrete Laplacian. This method has been

improved by Desbrun et al. [2] by introducing the curvature

flow on the surface to remove noise. Although, these meth-

ods are based on the methodology of signal processing and

they do not compute a real frequency-based representation

of the surface of the objects. Therefore the corresponding

filters should be applied in the spatial domain.

A real frequency-based representation can be obtained

by considering the eigenfunctions of the Laplace-Beltrami

operator as a set of basis functions. Karni et al. [8] have

used this decomposition to compress triangular meshes.

One of the drawback of their approach is that the basis

eigenvectors must be computed separately for each mesh,

as pointed in [9]. For more detail about Laplace-Beltrami

eigenfunctions as a basis for surface based function spectral

decomposition, we recommend the reader to refer to [13].

TheeigenfunctionsoftheLaplacianofthemeshcanbeused

also for surface quadrangulation [3].

The planar and spherical domains provide us with a

well known set of eigenfunctions: Fourier exponentials and

the spherical harmonics, respectively. The frequency-based

representations, using Fourier transforms and spherical har-

monics, are used for retrieval, surface reconstruction, com-

pression, progressive transmission and filtering purposes.

Fourier transform

Fourier transforms to a function induced from the 3D vox-

elized mesh to obtain shape descriptor for retrieval pur-

poses. Kazhdan [10] has used 3D Fourier transform of the

indicator function of an oriented set of points to reconstruct

a surface that approximates these points. An interesting

point of his approach is that he has converted the volumetric

integrations of the Fourier transform of the indicator func-

tion into surface integrations. These surface integrations

can be computed directly on the set of points. However,

he has used a posterior voxelization to convert the set of the

obtained frequencies into an implicit representation of the

object in the spatial domain.

In general, it is more difficult to control the numerical

errors from voxelized-based computations. For a given er-

ror tolerance, it is very difficult to predict the optimal size

of the voxel. Pauly et al. [18] have used Fourier anal-

ysis to achieve common surface processing operations as

noise removal, enhancement, restoration and subsampling.

They have interpolated the data onto a regular grid, in order

to make a discrete Fourier transform applicable. However,

sampling the data over a regular grid on the sphere ignores

some important regions and oversamples others.

Vranic et al. [23] have applied 3D

Spherical harmonics transform

ics transform of spherical functions [4, 19] induced from the

mesh can be calculated using a voxelization of the mesh as

The spherical harmon-

Page 3

a preprocessing step to obtain a shape descriptor. In [25],

Zhou et al. have applied the spherical harmonics transform

to three independent spherical functions representing the

spherical parametrization of the local coordinates x, y and

z over the original mesh. However, using three independent

functions ignores the correlation between these coordinates

on the surface.

An interesting idea on efficient computations of geomet-

rical properties of triangulated meshes has been presented

by Zhang et al. [24]. They have shown that the computa-

tion of the volumetric moments of a triangulated mesh can

be decomposed into a signed sum of the volumetric mo-

ments computed over the geometric primitives composing

the mesh. The geometric primitives are triangles or tetrahe-

dra for meshes embedded in 2D or 3D respectively. Mousa

et al. [15] have extended this idea to calculate the spher-

ical harmonics transform of the indicator function repre-

senting the intersection of the volume enclosed by a trian-

gulated mesh and a given sphere. The computation con-

sists of a signed sum of 2D Monte-Carlo integrations on a

set of spherical triangles. A similar technique was used in

[16] to obtain a frequency-based representation of triangu-

lar meshes using the spherical harmonics.

3. Notations

The spherical harmonics {Ym

special functions defined on the unit sphere S2as :

l(θ,ϕ) : |m| ≤ l ∈ N} are

Ym

l(θ,ϕ) = kl,mPm

l(cosθ)eimϕ

(1)

where θ ∈ [0 π], ϕ ∈ [0 2π[, kl,mis a constant, and Pm

is the associated Legendre polynomial. The spherical har-

monics are orthonormal functions such that1:

?2π

where δu,vis the Kronecker delta function defined as the

following :

?

Therefore, a spherical function g : S2−→ R can be ex-

panded as a linear combination of spherical harmonics :

l

0

?π

0

Ym

l(θ,ϕ)Ym?

l? (θ,ϕ)sin(θ)dθdϕ = δl,l?δm,m? (2)

δu,v=

1

0

if u = v

otherwise

(3)

g(θ,ϕ) =

∞

?

l=0

l?

m=−l

cl,mYm

l(θ,ϕ)

(4)

where the coefficients cl,mare uniquely determined by :

?2π

1The bar over the variable means the complex conjugate of this vari-

able.

cl,m=

0

?π

0

g(θ,ϕ)Ym

l(θ,ϕ)sin(θ)dθdϕ

(5)

4. Spherical harmonics computations

Given a star-shaped triangular mesh, we present in this

section a new algorithm to compute the spherical harmonics

decomposition of the spherical function that measures the

distance from the surfaceto a center c. Firstly, weshow how

such spherical function can be expanded as a sum of spher-

ical functions defined over the local triangles. Secondly, we

show how to evaluate spherical harmonics coefficients by a

sole integration along the edges of these triangles.

4.1. Spherical harmonics decomposition

Consider the spherical function f that measures the ra-

dial extent of the points of a given star-shaped triangulated

object M. We will show now how to expand this spherical

function over the triangles of M.

Assuming that fi(θ,ϕ) is the restriction of f to the tri-

angle Ti, i.e. fihas the same value than f for the points be-

longing to the triangle Tiand has the value zero otherwise.

The global spherical function f(θ,ϕ) can be decomposed

in terms of fi(θ,ϕ) as follows :

?

where T is the set of triangles of M. The spherical harmon-

ics decomposition of each fiis given by :

f(θ,ϕ) =

Ti∈T

fi(θ,ϕ)

(6)

fi(θ,ϕ) =

∞

?

l=0

l?

m=−l

ci

l,mYm

l(θ,ϕ)

(7)

Therefore, theexpansionoff(θ,ϕ)intermsofthespherical

harmonics can be rewritten as follows :

?∞

l=0m=−l

f(θ,ϕ) =

?

Ti∈T

?

l?

ci

l,mYm

l(θ,ϕ)

?

(8)

Let T?

tered at c. Each ci

tion:

idenote the projection of Tion the unit sphere cen-

l,mis computed using the following equa-

ci

l,m=

? ?

T?

i

fi(θ,ϕ)Ym

l(θ,ϕ)sin(θ)dθdϕ

(9)

The above equation evaluates the coefficients ci

face integration over the spherical triangle T?

evaluation of cl,mis reduced to the evaluation of the corre-

sponding ci

the main computation of the spherical harmonics decompo-

sition of the function f is simplified to computation of the

spherical harmonics decomposition of the functions fi.

l,mas a sur-

i. Then, the

l,mover the primitive forms of the mesh. Hence,

Page 4

4.2. SHT over the triangle edges

In this subsection, we show how to reduce the evaluation

of ci

spherical triangle T?

that permits to reduce some 2D integrations to 1D integra-

tions.

l,mas a linear integration over the boundaries of the

i. For that, we rely on the Curl theorem

4.2.1The Curl theorem

TheCurloperatorisavectoroperatorthatmeasuresavector

field’s rate of rotation: the direction of the axis of rotation

and the magnitude of the rotation. Let V denote a volume

element delimited by a closed surface element S. The Curl

of a vector field F denoted as Curl(F) = ∇ × F is defined

as :

Curl(F) = lim

V →0

where n is the normal of S.

The Curl theorem is an extension of the fundamental the-

orem of calculus which provides a method for expressing

the integral of some function over the interior of a region

S as an integral over its boundary ∂S. Given a 3D vector

field function F and a surface S with boundaries, the Curl

theorem states :

?

In the spherical coordinates system, the Curl of a vector

function F ≡ (Fr,Fθ,Fϕ) is defined as :

where r, θ, ϕ are spherical coordinates and? r,?θ, ? ϕ the local

unit vectors basis. Moreover, the area and the line elements

are given by :

1

V

?

S

n × FdS

S

(? × F) · da =

?

∂S

F · ds

(10)

? × F =

?

? r

?θ

? ϕ

?

1

r sinθ

?∂(sinθFϕ)

1

sinθ

?

∂θ

−∂Fθ

∂ϕ

?

1

r

?

∂Fr

∂ϕ−∂(rFϕ)

∂(rFθ)

∂r

−∂Fr

∂r

?

1

r ∂θ

?

(11)

da

ds

=

=

r2sinθdθdϕ? r

dr? r + rdθ?θ + rsinθdϕ? ϕ

(12)

(13)

Usingequations11, 12and13, thelefthandsideofequation

10 is rewritten as follows :

?∂(sinθFϕ)

Therefore, in the spherical coordinates system, we can re-

formulate the Curl theorem as the following :

?

(? × F) · da = r

∂θ

−∂Fθ

∂ϕ

?

dθdϕ

(14)

S

r

?∂(sinθFϕ)

∂θ

−∂Fθ

∂ϕ

?

dθdϕ=

?

∂S

[Frdr + rFθdθ + rsinθFϕdϕ]

(15)

4.2.2SHT computation

To calculate the spherical harmonics coefficients ci

linear integration along the edges of the spherical triangle

T?

that the following equality is satisfied :

l,mas a

i, we need a vector field function Fi= (Fi

r,Fi

θ,Fi

ϕ) such

(? × Fi) · da = fi(θ,ϕ)Ym

Any vector field Fisatisfying equation 16 gives the same

evaluation of the coefficients ci

possible to find a vector field function of the form Fi=

(0,Fi

along the?θ direction. This allows a simplified expression of

the Curl operator. Therefore, on the unit sphere S2(r = 1),

the above equation reduces to :

l(θ,ϕ)sin(θ)dθdϕ

(16)

l,m. We will show that it is

θ,0), i.e. such that the field lines of Fiare geodesics

Curl(Fi)·da = −∂Fi

θ

∂ϕdθdϕ = fi(θ,ϕ)Ym

l(θ,ϕ)sin(θ)dθdϕ

(17)

And hence,

−∂Fi

θ

∂ϕ=

fi(θ,ϕ)Ym

?

l(θ,ϕ)sin(θ)

(18)

Fi

θ= −

fi(θ,ϕ)kl,mPm

l(cosθ)sin(θ)e−imϕdϕ(19)

Using the integration by parts (see appendix A), we get :

Fi

−kl,mPm

θ(r,θ,ϕ) =fi(θ,ϕ)kl,mPm

l(cosθ)sin(θ)

im

l(cosθ)sin(θ)e−imϕ

im

e−imϕ∂fi(θ,ϕ)

∂ϕ

?

dϕ

(20)

Using this expression of Fi

termination of ci

θand the Curl theorem, the de-

l,mamounts to :

?

ci

l,m=

T?

i

(? × Fi) · da

(21)

Therefore,

ci

l,m=

?

∂T?

i

Fi

θds

(22)

where ∂T?

Thus, we can calculate the spherical harmonics coefficient

ci

tion Fi. The computation of ci

gration of Fialong the edges of the triangle T?

ever, the right most integration of equation 20 is not easy

to calculate and need to be simplified. Consider the quan-

tity g1(p) =

ppi·

is the projection of p on the plane supporting Ti.

iis the boundary of the spherical triangle T?

i.

l,mby applying the Curl theorem to the vector field func-

l,mreduces to a 1D inte-

i. How-

−→ −→

ni where

−→

ni is the normal of Tiand pi

?g1=

−→

ni

(23)

Page 5

Figure 2.

Similarly, let g2(p) = r − fi(θ,ϕ) where r,θ and ϕ are the

spherical coordinates of p. From Figure 2, g2(p)cosγ =

g1(p), therefore

?g2× cosγ + g2× ?cosγ = ?g1

For all points p lying on Ti, g2(p) = 0. Then

(24)

?g2(p) × cosγ = ?g1(p)

(25)

Moreover,? r ·? ni= cosγ.

?(r − fi) × (? r ·? ni) = ? ni

∂r? r −1

r ∂θ

(26)

?

? r −∂fi

∂fi

?θ −

1

rsin(θ)

∂fi

∂ϕ? ϕ

?

× (? r ·? ni) = ? ni

(27)

Multiplying by ? ϕ

−

1

rsinθ

∂fi

∂ϕ? r ·? ni= ? ni· ? ϕ

(28)

Taking κ = −rsinθ

? r ·? ni

we get

∂fi

∂ϕ= κ? ni· ? ϕ

(29)

The right most term of equation 20 simplifies to :

?

The normal ? niis constant for all points on the triangle Ti.

Moreover, ? ϕ is the unit vector in the direction of ϕ and is

equal to (−sin(ϕ),cos(ϕ),0). Therefore, we have :

?

To evaluate the integration presented in equation 31, the fol-

lowing sub-integrations should be evaluated :

?

I2

=cos(ϕ)e−imϕdϕ

e−imϕ∂fi

∂ϕdϕ

=

κ

?

(? ni· ? ϕ)e−imϕdϕ

(30)

e−imϕ∂fi

∂ϕdϕ

=

κ? ni·

?

? ϕe−imϕdϕ

(31)

I1

=

−sin(ϕ)e−imϕdϕ

(32)

?

(33)

Using the integration by parts (see Appendix B), we get :

given point, we can evaluate Fi

and ϕ using equations 20, 31, 34 and 35, and hence ci

I1=

e−imϕ

1 − m2[cosϕ + imsinϕ]

1

4cos2ϕ +im

m ?= ±1

m = ±1

2[ϕ −1

2sin2ϕ]

(34)

I2=

e−imϕ

1 − m2[sinϕ − imcosϕ]

im

4

Therefore, given the values of the surface normal at any

m ?= ±1

m = ±1cos2ϕ +1

2[ϕ +1

2sin2ϕ]

(35)

θfor any value of l, m, θ

l,m.

5. Algorithm

The spherical harmonics computations are naturally

adapted to spherical domains. Non spherical objects should

be preprocessed such that they are decomposed into spheri-

cal subparts. In this section, we give an algorithm that gen-

eralizes our approach to any mesh of point set surface. Our

method operates in five steps as illustrated in Figure 3 :

(a)(b)(c)(d)

Figure 3. The main steps of the application

of our approach to a non spherical object.

(a) The kd-tree decomposition. (b) The best

fitting spheres for the cells of the kd-tree.

(c) The triangulation of the local spherical

patches. (d) The corresponding object after

the spherical harmonics computations.

1. Partition the object using a kd-tree and an unfolding

split condition.

2. For each cell of the kd-tree find the best fitting sphere

on which we apply the spherical harmonics computa-

tions.

3. If the object is already meshed, ignore this step. Oth-

erwise, triangulate each local patch of the object.

Page 6

4. Apply the spherical harmonics computations for the

local polar function representing this patch.

5. Blendtogetherthesphericalharmonicsrepresentations

of the subparts to reconstruct the overall object.

We present the details of those steps in the next sub-

sections.

5.1. Partitioning

Starting from the initial bounding box of the set of points

of the mesh, we adopt the division criterion presented by

Boubekeur et al. [1] : each cell of the kd-tree hierarchy, Ci,

is split if the following condition is not satisfied :

∀p ∈ Ci=⇒

−→

np is the surface normal at the point p and

the average normal vector in Ci. This condition ensures

that there is no folding inside the cell Ci. Therefore pro-

jecting the local points of the cell Cion the local sphere

will keep the local neighborhood relationship between the

points.This process creates locally spherical geometry

whichisthenaturaldomainofthesphericalharmonicscom-

putations.

−→

np·

−→

ni> δa

δa∈ [0,1]

(36)

where

−→

ni is

5.2. Best fitting sphere

Now, we show how we can find a suitable sphere that

provides a good spherical approximation for the spatial lo-

cations for the points p ∈ Ci. The objective is to find

a sphere centered at c and having a radius r satisfying as

much as possible :

||pj− c||2− r2= 0

Introducing the variable ρ = c2− r2into equation (37),

the previous set of quadratic equations becomes a system of

linear equations for the unknown coordinates xc, yc, zcof c

and ρ :

(2xjxc+2yjyc+2zjzc)−ρ−(x2

∀pj∈ Ci

(37)

j+y2

j+z2

j) = 0

∀pj ∈ Ci

(38)

We solve this system of linear equations using the least

square method to give the best values of the center and the

radius of the best fitting sphere.

5.3. Local triangulation

The decomposition criterion presented in the previous

subsection ensures that the spherical patch may not contain

any folding. This yields that we can project the local patch

within the cell Cion its best fitting sphere. This projection

will maintains the neighborhood properties of the points in-

side Ci. Therefore, the local triangulation of the points in-

side each kd-tree cell can be approximated by triangulating

their projection of the fitting sphere.

5.4. Numerical evaluation

In the previous section, we have seen how to find the

vector field function Fi= (Fi

use the Curl theorem and to reduce the integration over the

triangles along their edges. To evaluate the value of the

harmonic coefficients ci

tegral of Fialong the edges of the triangle Ti:

?

r,Fi

θ,Fi

ϕ) that enables us to

l,m, we need to compute the line in-

ci

l,m=

∂Ti

Fi

θds

(39)

We use a Monte Carlo integration to evaluate this integral

over each edge e1e2of the triangles as summarized in the

following steps :

1. Pick n randomly distributed points p1,p2,...,pnover

the edge e1e2.

2. Determine the average value of the function

< Fi

θ>=1

n

n

?

i=1

Fi

θ(pi)

3. Compute the approximation of the integral

?e2

e1

Fi

θdθ = (||e1e2||) < Fi

θ>

The standard deviation of the above evaluation is equal to :

σ =

?

< (Fi

θ)2> − < Fi

θ>2

where

< (Fi

θ)2>=1

n

n

?

i=1

(Fi

θ(pi))2

This yields a convergence of the order O(n−1

teractively be computed during the evaluation of Fi

the sample points, so that the number of Monte Carlo sam-

ples can be tuned to reach some fixed deviation for each

degree l spherical harmonics coefficient. Moreover, gener-

ating evenly distributed sample points along the edge e1e2

is straightforward from the parametric equation of the line

e1e2:

p = e1+ λ(e2− e1)

The computation of the spherical harmonics coefficients

cl,mof the spherical function f is summarized in Algorithm

1.

2). σ can in-

θover

λ ∈ [0 1]

(40)

Page 7

Algorithm 1 Computation of the spherical harmonics coef-

ficients cl,mof the distance function f(θ,ϕ)

Require: a triangulated mesh M oriented consistently;

Ensure: SHT coefficient cl,mof f(θ,ϕ) representing M;

E ⇐ the set of edges of M;

T ⇐ the set of triangles of M;

cl,m⇐ 0;

for all Ti∈ T do

ci

end for

for all e ∈ E do

Ti1, Ti2⇐ the triangles sharing the edge e;

fi1⇐ the distance function parametrizing Ti1;

fi2⇐ the distance function parametrizing Ti2;

ci1

θ|e

? Fi1

ci2

θ|e

? Fi2

end for

for all Ti∈ T do

cl,m⇐ cl,m+ ci

end for

return cl,m

l,m⇐ 0;

l,m⇐ ci1

θcomputed using equations 20, 31, 34 and 35

l,m⇐ ci2

θcomputed using equations 20, 31, 34 and 35

l,m+||e||

nFi1

l,m+||e||

nFi2

l,m

5.5. Error control

The quality of the spherical harmonics representation of

the objects depends on the number of Monte Carlo sam-

ples used to evaluate each coefficient and on the number of

spherical harmonics coefficients to be computed for each

distance function f. Noting that the approximated distance

functionˆf is given by :

ˆf(θ,ϕ) =

β

?

l=0

l?

m=−l

cl,mYm

l(θ,ϕ)

(41)

To determine the bandwidth β interactively, we introduce

an error tolerance εβbetween the approximated functionˆf

and the original function f. Of course, the deviation on

the estimation of each coefficient should be negligable with

regards to the authorized error tolerance. εβis defined as

follows:

??

where V denotes the set of local points.

εβ=

j∈V

?

f(θj,ϕj) −ˆf(θj,ϕj)

?2

(42)

5.6. Blending local patches

After computing the local frequency-based representa-

tion of each local patch of the object, we need to blend all

these representations of the object. To do that, we asso-

ciate for each distance function f a function g which is ex-

pressed in the same local spherical coordinates system de-

fined within the spatial cell C containing f. The functions

g are defined as follows :

sign(− →

where (r,θ,ϕ) are the spherical coordinates of p, c is the

centerofthecoordinatesystemand− →

vector inside the cell C.

Each triangulated patch divides the containing cell into

two parts. One is contained inside the object and the other is

outside. g has positive values for points located within the

surface, has negative values for those located outside and

has zero values on the surface. Therefore, g can be con-

sidered as the potential function of the local surface patch

located inside the cell C. We can obtain the entire surface

by blending all the potential functions g and extracting the

corresponding 0-level surface using a marching cubes algo-

rithm. The standard form of the blending operator is ex-

pressed as a weighted sum of the potential functions g :

?

Inthispaper, weusequadraticB-splineb(t)[17]togenerate

the blending weight functions;

?3||p − c||

centered at c and having a spherical support of radius R,

where R is the radius of the cell C.

g(p)=

n .− →

cp)(f(θ,ϕ) − r)

n istheaveragenormal

G(p) =

wg(p)g(p)

(43)

wg(p) = b

2R

?

(44)

6. Applications and discussion

Our method is implemented in C++; we have used a

3GHz Pentium IV PC with 1GB memory for the exper-

iments. The input objects are given as a set of oriented

points. The normal directions of the points are assumed to

be oriented consistently.

6.1. Spectral representation and filtering

for star-shaped meshes

Figure 4 shows a vase model reconstructed using the ap-

proachpresentedin[16]incomparisonwithourapproachat

the same bandwidth β = 200. The same number of Monte

Carlo samples were used in both cases. The difference is

that the Monte Carlo samples are distributed over the trian-

gles and along the edges respectively. Figure 5 show the

representation of Max Plank using our spherical harmon-

ics decomposition. We can see that when the value of εβ

is large, the object becomes smoother and it becomes more

detailed when εβis smaller. The timings are given in Table

1.

Page 8

?β= 0.031

β = 200

?β= 0.001

β = 200

Figure 4. A vase model reconstructed using

[16] (left) and using our approach (right) at

the same bandwidth β and the same number

of Monte Carlo samples. The corresponding

error is 31 time less using our approach.

?β= 5.0

β = 32

?β= 0.001

β = 224

Figure 5. The model of Max Plank repre-

sented using our spherical harmonics de-

composition.

6.2. Surface reconstruction

Given a set of oriented points, we can reconstruct a sur-

face that approximates the given points using our spherical

harmonics decomposition. We can do that by simply com-

puting the spherical harmonics representation of the set of

points as described in section 5 and apply a marching cubes

algorithm to reconstruct the surface.

The spatial decomposition and the local triangulation

steps take no more that 5 seconds for the objects presented

in this paper. The models shown in Figures 1 and 3(d) are

reconstructed in this way. Figure 6 shows the reconstruction

of 3D objects using the spherical harmonics representation.

The precision error ?βis fixed to 0.001. Table 1 summarizes

the timing of the computation of the spherical harmonics

decomposition for the models presented in this paper. The

last two columns show the corresponding time and ?βif we

apply the evaluation over the whole triangle [16] with the

?β= 0.001,β = 350

Dinosaur

?β= 0.001,β = 320

Tyra

Figure 6. Reconstruction of 3D objects us-

ing our spherical harmonics representation.

The models of Dinosaur and Tyra are decom-

posed into 250 and 200 patches respectively.

Model

Igea

Max-Plank

Dinosaur

Tyra

Buddha

Thai

Vase

Points

135k

200k

56k

100k

543k

3000k

68k

β

Time

5.5

4.2

4.4

6.8

10.7

20.2

4.7

Time [16]

140

220

59

130

480

1200

65

?β[16]

0.012

0.01

0.018

0.01

0.009

0.019

0.031

256

224

350

320

450

480

200

Table 1. Summary of the timing (in seconds)

for the models used in this paper.

same β.

The spherical harmonics decomposition presented in this

paperhas manyadvantages. Oneof themis thatwecan con-

trol number of computed spherical harmonics coefficients.

This can be useful in some applications.

6.3. Local mesh smoothing

We can repair cracks found on some 3D surfaces by

eliminating the higher frequency components from their

sphericalharmonicsdecompositionatthelocalpatchescon-

taining the cracks, Figure 7. This is not equivalent to the

filtering of the surface. In fact, eliminating high frequency

componentsinthefilteringprocessaffectsthegeometricde-

tails over all the surface while in our case the effect is local.

6.4. Texture transfer

Given a source surface patch S containing the geomet-

ric texture and a target surface patch U, we compute their

spherical harmonics representation as described in section

4. As we have mentioned, the higher frequency components

Page 9

Figure 7. Smoothing parts of the Igea model

using local filtering of our spherical harmon-

ics representation.

encode the geometric details on the surface S. The number

of these components that we will add to the target U is a

user defined parameter that identifies the level of details to

be extracted from the surface S. An alignment of the region

of interest is performed before this transfer of coefficients.

Figure 8 shows an example of transferring a part of Ar-

madillo’s coating onto the Bunny’s back using the spherical

harmonics representation.

7. Conclusions

Traditionally the spherical harmonics decomposition has

been applied to 3D objects by employing a spherical

parametrization of the mesh representing the surface as a

preprocessing step. In this paper, we defend the idea that

a single spherical parametrization should be used instead.

It enables an exploitation of the geometric correlation be-

tween the x,y,z coordinates over the surface. The polar

parametrization provides a good candidate for star-shaped

meshes. However it can be extended to any triangular object

after segmentation into star-shaped sub volumes and recom-

position of the results in the implicit framework. In the case

of oriented point set surfaces, we propose to use some more

local segmentation that also provides an atlas of local trian-

gular patches. Given a spherical distance function defining

a star-shaped triangulated shape, the principal point of our

approach is that the computation of the spherical harmonics

decomposition can be performed directly from the oriented

edges of the triangles. More precisely, the usage of the Curl

theorem permits to distribute the computation of the spheri-

cal harmonics coefficients over geodesic arcs on the sphere.

This gives faster convergence and more control on the eval-

Figure 8. Geometric texture transfer using the

spherical harmonics.

uation of the integrations determining the coefficients.

Using the proposed spherical harmonics decomposition,

we can add and remove details from local patches on the

surface without affecting the entire surface at interactive

rates. We can also transfer geometric texture locally from a

given model to another. This makes our approach suitable

for applications such as local filtering, mesh editing and sur-

face repairing.

References

[1] T. Boubekeur, P. Reuter, and C. Schlick. Visualization of

point-based surfaces with locally reconstructed subdivision

surfaces. In Shape modeling international, 2005.

[2] M. Desbrun, M. Meyer, P. Schr¨ oder, and A. H. Barr. Im-

plicit fairing of irregular meshes using diffusion and curva-

ture flow. In SIGGRAPH ’99, pages 317–324, 1999.

[3] S. Dong, P. Bremer, M. Garland, V. Pascucci, and J. C. Hart.

Spectral surface quadrangulation.

1057–1066, 2006.

[4] T. Funkhouser, P. Min, M. Kazhdan, J. Chen, A. Halderman,

D. Dobkin, and D. Jacobs. A search engine for 3d models.

ACM Transactions on Graphics, 22(1):83–105, 2003.

[5] R. Green. Spherical harmonic lighting: The gritty details. In

Game Developers Conference, March 2003.

[6] D. M. Healy, D. N. Rockmore, and S. S. B. Moore. Ffts for

the 2-sphere-improvements and variations. Technical report,

Hanover, NH, USA, 1996.

[7] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and

W.Stuetzle. Surfacereconstructionfromunorganizedpoints.

In SIGGRAPH ’92, pages 71–78, 1992.

[8] Z. Karni and C. Gotsman. Spectral compression of mesh

geometry. In SIGGRAPH ’00, pages 279–286, 2000.

[9] Z. Karni and C. Gotsman. 3d mesh compression using fixed

spectral bases. In GRIN’01, pages 1–8, 2001.

[10] M. Kazhdan. Reconstruction of solid models from oriented

point sets. In SGP ’05, pages 73–82, 2005.

SIGGRAPH’06, pages

Page 10

[11] M. Kazhdan, T. Funkhouser, and S. Rusinkiewicz. Rotation

invariant spherical harmonic representation of 3d shape de-

scriptors. In SGP ’03, pages 156–164, 2003.

[12] M. Kazhdan, T. Funkhouser, and S. Rusinkiewicz. Symme-

try descriptors and 3d shape matching. In SGP ’04, pages

116–125, 2004.

[13] B. Levy. Laplace-beltrami eigenfunctions: Towards an al-

gorithm that understands geometry. In IEEE International

Conference on Shape Modeling and Applications, 2006.

[14] M. J. Mohlenkamp. A fast transform for spherical harmon-

ics. Journal of Fourier Analysis and Applications, 5:159–

184, 1999.

[15] M. Mousa, R. Chaine, and S. Akkouche. Direct spherical

harmonic transform of a triangulated mesh. JGT: Journal of

Graphics Tools, 11(2):17–26, 2006.

[16] M. Mousa, R. Chaine, and S. Akkouche. Frequency-based

representation of 3d models using spherical harmonics. In

WSCG’06, volume 14, pages 193–200, 2006.

[17] Y. Ohtake, A. Belyaev, M. Alexa, G. Turk, and H.-P. Seidel.

Multi-level partition of unity implicits. ACM Trans. Graph.,

22(3):463–470, 2003.

[18] M. Pauly and M. Gross.

sampled geometry. In SIGGRAPH ’01, pages 379–386,

2001.

[19] D. Saupe and D. V. Vranic. 3d model retrieval with spherical

harmonics and moments. In Proceedings of the 23rd DAGM-

Symposium on Pattern Recognition, pages 392–397, 2001.

[20] R. Suda and M. Takami. A fast spherical harmonics trans-

form algorithm. Math. Comput., 71(238):703–715, 2002.

[21] G. Taubin. A signal processing approach to fair surface de-

sign. In SIGGRAPH ’95, pages 351–358, 1995.

[22] I. Tosic and P. Frossard.

models from non-uniformly sampled datasets on the sphere.

In Proceedings of the Picture Coding Symposium, 2006.

[23] D. Vranic and D. Saupe. 3d shape descriptor based on 3d

fourier transform. In Proceedings of the EURASIP Confer-

ence on Digital Signal Processing for Multimedia Commu-

nications and Services, pages 271–274, 2001.

[24] C. Zhang and T. Chen. Efficient feature extraction for 2d/3d

objects in mesh representation. In ICIP ’01, pages 935–938,

October 2001.

[25] K. Zhou, H. Bao, and J. Shi. 3d surface filtering using spher-

ical harmonics.Computer-Aided Design, 36(4):363–375,

2004.

Spectral processing of point-

Fst-based reconstruction of 3d-

A Integration by parts (1)

Let u and v two functions, the general form of the inte-

gration by parts states :

?

Taking u = fi(θ,ϕ) and dv = e−imϕdϕ, we get :

udv = uv −

?

vdu

du

=

∂fi(θ,ϕ)

∂ϕ

−1

ime−imϕ

dϕ

v

=

Therefore, by substituting in equation 19, we get :

Fi

θ

=

fikl,mPm

l(cosθ)sin(θ)e−imϕ

im

−kl,mPm

im

l(cosθ)sin(θ)

?

e−imϕ∂fi

∂ϕdϕ

B Integration by parts (2)

I1=

?

−sin(ϕ)e−imϕdϕ

(45)

Taking u = −sin(ϕ) and dv = e−imϕdϕ, we get :

du

=

−cos(ϕ)dϕ

−1

ime−imϕ

v

=

Therefore, by applying the integration by parts to equation

45, we get :

I1=sin(ϕ)e−imϕ

im

−

1

im

?

cos(ϕ)e−imϕdϕ

(46)

Taking u = cos(ϕ) and dv = e−imϕdϕ, we get :

du

=

−sin(ϕ)dϕ

−1

ime−imϕ

v

=

Again, by applying the integration by parts to equation 46,

we get :

?−cos(ϕ)e−imϕ

=

imm2

I1=

sin(ϕ)e−imϕ

im

sin(ϕ)e−imϕ

−

−cos(ϕ)e−imϕ

1

im im

+

1

im

?

−sin(ϕ)e−imϕdϕ

?

+

1

m2I1

Therefore,

I1=e−imϕ

1 − m2[cos(ϕ) + imsin(ϕ)]

While the intermediate steps to solve equation 45 requires

a subdivision by m, the final solution of I1is still valid for

m = 0. When m = ±1, we can rewrite equation 45 as

follows :

?

=

m ?= ±1

(47)

I1

=

−sin(ϕ)e−imϕdϕ

4cos(2ϕ) +im

1

2(ϕ −1

2sin(2ϕ))

In a similar manner, we can find the analytical solution of

the integration I2.