Hjem til forsiden

Approximate implicitization by point sampling & estimated normals
The approximate implicitization method, developed by the project partner at Johannes Kepler university `Linz', has been implemented in C++. We are planning to make the source code available as Open Source, from the project web page.

The `Linz' method  is characterized by the simultaneous approximation of:

  • Sampled point data  pi (xi, yi, zi
  • Estimated normals ni at these points.

The method produces an approximate implicit representation of the form f(x, y,z) = ∑ (Ci  Bi(x, y, z)) with basis Bi(x, y, z) and a certain coefficients Ci

This method is fully general, i.e., it can be applied to any space of functions. For practical applications, however, fast evaluation of basis functions is important. For this reason we implemented the algorithm for using only polynomial function, namely, Tetrahedral Bèzier polynomial, Tensor product Bèzier polynomial, and Tensor product B-splines piecewise polynomials.

We implemented a prototype which is used as a stand alone version for experimental purposes. It can be run from a Linux shell using the

 <file>  Offset  OffsetDistance  Basis  Degree  Cellsize  [nonstop]  [debug]

The parameters have the following meaning:

 <file>                  the input file including the full patch
Offset                  an integer switch whether to approximate an offset surface, set to be 0 (no offset) 1 (offset one side), 2 (offset double sides)
OffsetDistance      the offset distance in the case of offset surface.
Basis                     an integer set to be 1 (Tensor product B-splines) , 2 (Tensor product Bèzier) or 3 (Tetrahedral Bèzier)
Degree                  the degree of the basis
[nonstop]                an integer  switch the user input from the keyboard during the running.
[debug]                   an integer control the debug message: 0 no, 1 part, 2 full.

Published June 24, 2005