Alan H. Barr publizierte 1981 eine Arbeit im Bereich Computer Aided Design [1], in der er die Grundlagen legte zur Erweiterung der bis dato üblichen Formen (Quader, Kugeln, Hyperboloide) durch - wie er es nannte - "Superquadrics", darunter das Super-Ellipsoid und der Super-Toroid.
Diese 3D-Objekte bieten durch die Änderung nur weniger Parameter eine große Formenvielfalt und fanden Einzug in CAD- und Raytracing-Software zur Modellierung von Objekten und für Computerspiele.
Das Super-Ellipsoid mit seinem Zentrum in (0, 0, 0) wird durch folgende Funktion erzeugt:
x (u, v) = cos (v) n1 cos (u) n2
y (u, v) = cos (v) n1 sin(u) n2
z (u, v) = sin(v) n1
mit u, v = 0, ... , 2π und n1, n2 > 0.
Da die Sinus- und Cosinus-Funktion im Bereich [ 0, 2π ] auch negative Werte liefern, eine Potenz mit negativer Basis und beliebigem Exponenten exp aber nicht definiert ist, müssen die potenzierten Sinus-/Cosinus-Terme ersetzt werden durch
cos (..) exp → sign ( cos (..) ) | cos (..) | exp
sin (..) exp → sign ( sin (..) ) | sin (..) | exp
Der Exponent n1 bestimmt die "Rechteckigkeit" des Objekts in der z-Richtung, während der Exponent n2 die Rechteckigkeit in der x/y-Ebene festlegt. Die folgende Tabelle zeigt die typische Charakteristik der Objekte für verschiedene Werte von n1 und n2.
n1 | n2 | Objekt | Charateristik |
<< 1 | << 1 | Würfel | |
< 1 | < 1 | würfelartig | |
< 1 | 1 | zylindrisch | |
<< 1 | 1 | Zylinder | |
1 | < 1 | kissenartig | |
1 | 1 | Kugel | |
2 | 2 | Oktaeder | |
n1 oder n2 = 2 |
|
"abgeschrägt" | |
n1 oder n2 > 2 |
"eingedrückt"
|
Das folgende Video zeigt das entstehende Super-Ellipsoid für verschiedene Wertekombinationen von n1 und n2. Dabei durchläuft n1 jeweils den Bereich 0.01 bis 3 für die festen Werte 0.01, 0.5, 1, 1.5, 2, 2.5 und 3 von n2.
Multipliziert man die Funktion für das Super-Ellipsoid noch mit einem Vektor [
rx, ry, rz ], so wird das Super-Ellipsoid in x-, y-, z-Richtung für r-Werte > 1 gestreckt, für r-Werte < 1 gestaucht. Dazu hier einige Beispiele:
Durch Addition der Größen xc , yc und zc zur jeweiligen Funktionskomponente kann das Zentrum des Superellipsoids in den Punkt C (xc , yc , zc) verschoben, durch Multiplikation mit einer Drehmatrix D (s. Rotationen im Raum) beliebig im Raum gedreht werden.
Download