catenoid cube45 ellipsoid rounded-cube45 sphere ring torus Klette-Ellipsoid

Contents


What is a signature ?

The other goal of volgen is to computes many characteristics on the figure that is drawn. The characteristicss are stored in a signature file. The format of this file may change in the future.
A signature file can be given to volcompose to recreate the associated volume.
In a signature file, you find : Currently, there is an important limitation in signature files : they are computed before any rotation of the figure. And, because many figures are symetric, only positives points may appears in some signatures.

Of course, in the final vol file, you only have discrete points. But in signature file, volgen computes for each discrete point a list of points that are on the surface of the volume with their local characteristics.
The way how these "true" points are computed depends of the figure and the type of the equation used. If the equation is parametric, it's easy because for a phi and a theta we can compute an exact value. But if the equation is cartesian, we only know that a discrete point (X, Y, Z) is in the volume. For the ellipsoid and the sphere, we compute the following points when using the cartesian equation :

intersections
(This example only use two dimensions for simplicity).
The number of true points computed by unit cube depends of the ellipsoid and the unit cube. It will be zero if the cube is not on the surface of the ellipsoid.


There is two kinds of signature : Here is a sample default signature file :
volgen torus -a 2 -c 3 -s -
(the -s option sets the signature file, "-" means stdout)
Torus untitled {
    rotation-X = 0.000000e+00;
    rotation-Y = 0.000000e+00;
    rotation-Z = 0.000000e+00;
    params {
a = 2.000000e+00;
c = 3.000000e+00;
}
/*
carateristics {
area = 2.368705e+02;
volume = 2.368705e+02;
}
points {
X   Y   Z   mean(gauss) mean(mean)
5   0   0   6.666667e-02    -2.666667e-01
4   0   0   6.541659e-02    -2.647916e-01
4   0   1   5.668667e-02    -2.516967e-01
[...]
} 
*/};

Here is a sample verbose signature file :
volgen torus -a 2 -c 3 -s - -verbose
(notice the -verbose option)
Torus untitled {
    rotation-X = 0.000000e+00;
    rotation-Y = 0.000000e+00;
    rotation-Z = 0.000000e+00;
    params {
a = 1.000000e+00;
c = 1.000000e+00;
}
/*
carateristics {
area = 3.947842e+01;
volume = 1.973921e+01;
}
points {
X   Y   Z   x               y               z               gauss           mean
1   0   0   
            1.999945e+00    0.000000e+00    1.047178e-02    4.999863e-01    -7.499931e-01
            1.999781e+00    0.000000e+00    2.094242e-02    4.999452e-01    -7.499726e-01
            1.999507e+00    0.000000e+00    3.141076e-02    4.998766e-01    -7.499383e-01
            1.999123e+00    0.000000e+00    4.187565e-02    4.997806e-01    -7.498903e-01
            [...]
0   0   1   
            1.027528e-14    1.000000e+00    1.000000e+00    -1.493080e-15   -5.000000e-01
            9.326248e-16    9.076389e-02    4.162808e-01    -1.001760e+01   4.508799e+00
            8.883450e-16    8.645454e-02    4.067366e-01    -1.056677e+01   4.783386e+00
            8.450946e-16    8.224537e-02    3.971479e-01    -1.115874e+01   5.079369e+00
            8.028783e-16    7.813685e-02    3.875156e-01    -1.179806e+01   5.399030e+00
[...]
}
*/};

Reference

Caption
 Figure 
 Remarks 
 A 
 V 
 GC 
 MC
 P 
 C 
Ellipsoid          
details
Sphere Gaussian curvature is constant.      
details
   
Cube            
Catenoid bicolor catenoid
  • Characteristics are only computed on the green part
  • Mean curvature is always zero (on the green part)
      Zero    
RoundedCube Gaussian curvature is defined everywhere          
details
Torus [1] [2]            
Klette's Ellipsoid            


Ellipsoid surface : we use Garry Tee's algorithm. See [KENMOCHI 2000] and the original pascal source code.
Mean curvature of a sphere : this is the same as the gaussian curvature.
Cartesian Equation of a rounded cube :
x^6 + y^6 + z^6 = len^6


See also

Volgen page

Contact

Alexis Guillaume
David Coeurjolly

Valid HTML 4.0! Edited with vim