Implizite Flächen

Eine implizite Fläche im euklidischen Raum wird durch eine Gleichung der Form f (x, y, z) = 0 beschrieben.

Somit besteht eine implizite Fläche A aus der Gesamtheit der Nullstellen einer Funktion von drei Variablen:

 

A = { (x | y | z) | f (x, y, z) = 0 }.

 

Implizit bedeutet hierbei, dass die Gleichung der Fläche nicht nach x oder y oder z aufgelöst ist.

 

Beispiele impliziter Flächen (s. Grafiken unten):

  • Ebene:                a x + b y + c z + d = 0
  • Kugel:                 x² + y² + z² + r² = 0                                         r: Radius
  • Torus:                 (x² + y² + z² + R² - r² )² - 4 R² (x² + y² ) = 0    R: großer Radius, r: kleiner Radius
  • Doppeltorus:       ((x² + y²)² - x² + y²)² + z² - 0.01 = 0                Fläche vom Geschlecht 2
  • Rotationsfläche:  x² + y² + sin ² (z) - 1 = 0

Ist f (x, y, z) ein Polynom in x, y und z, so nennt man die zugehörige implizite Fläche algebraisch (spezielle algebraische Flächen werden unter Flächen mit Singularitäten betrachtet).

 

Da das Berechnen der Flächenpunkte (d.h. der Nullstellen von f) wesentlich aufwendiger ist als bei Funktionen in expliziter Darstellung oder bei Parameterflächen, erhöht sich die Rechenzeit, insbesondere für höhere Auflösungen, recht deutlich.


Implizite Fläche mit 2 Objekten

Durch eine implizite Gleichung können im Gegensatz zu Parameterflächen gleichzeitig mehrere  implizite Flächen
f1, f2, …, fn definiert werden, indem die Funktionsterme
multipliziert werden:

Implizite Fläche mit 2 Objekten

(s. auch weiter unten unter Vereinigung).

 

Ist beispielsweise

f1 = x² + y² + z² -1        (Kugel mit Radius 1)

f2 = ((x-2.5)6+y6+z6 -1 ("Würfel" mit Kantenlänge 2)

und

(x² + y² + z² -1) • (((x-2.5)6+y6+z6 -1) = 0

 

dann liegt ein Punkt p, der diese Gleichung erfüllt, entweder auf der Kugel oder dem "Würfel".


Operationen auf impliziten Flächen

Im folgenden werden einige Operationen auf impliziten Flächen gezeigt, die insbesondere bei der Modellierung von Objekten mit impliziten Flächen zum Tragen kommen.

 

Vereinigung und Durchschnitt impliziter Flächen

Die Vereinigung und der Durchschnitt sind mengentheoretische Operationen, die es ermöglichen, mehrere implizite Flächen zusammenzufassen. Sind n implizite Flächen definiert durch die Funktionen
f1, f2, …, fn, dann gilt

So ergibt beispielsweise für zwei Kugeln f1 (x,y,z) = x² + y² + z² - 4 (gelb in folgender Abbildung) und
f2 (x,y,z) = (x-1)² + y² + z² - 3 (blau)

  • min (x² + y² + z² - 4, (x-1)² + y² + z² - 3) = 0  die Vereinigung (grüne Fläche)
  • max (x² + y² + z² - 4, (x-1)² + y² + z² - 3) = 0 den Durchschnitt (orangene Fläche).
2 Kugeln
2 Kugeln

2 Kugeln

Vereinigung von2 Kugeln
Vereinigung von2 Kugeln

Vereinigung von 2 Kugeln

Durchschnitt von 2 Kugeln
Durchschnitt von 2 Kugeln

Durchschnitt von 2 Kugeln


Die Vereinigung impliziter Flächen wird auch durch Multiplizieren der Funktionsterme erreicht. Für das obige Beispiel ergibt sich die grüne Fläche ebenso mit  ((x² + y² + z² - 4) • ((x-1)² + y² + z² - 3)) = 0.

 

Hier noch ein Beispiel mit 4 Teilflächen (Kugeln mit Radius 1):

(x²+y²+z²-1) • ((x-2)²+y²+z²-1) • ((x-1)²+(y-√3)²+z²-1) • ((x-1)²+(y-√3/3)²+(z-2/3•√6)²-1) = 0

Implizite Fläche mit 4 Kugeln
Implizite Fläche mit 4 Kugeln

Verschmelzen impliziter Flächen

Mit der Operation Vereinigung erreicht man nicht, dass z.B. zwei Flächen f1 und f2 glatt ineinander übergehen (s. oben). Eine Möglichkeit, um einen glatten Überang zu realisiren, besteht darin, vom Produkt der Funktionsterme eine kleine Zahl a mit 0 < a < 1 zu subtrahieren.

 

Für die beiden Kugeln oben ergibt sich beispielsweise mit a = 0.01 die gelbe Fläche in der folgenden Abbildung.

Als weiteres Beispiel zeigt die Grafik die Verschmelzung zweier Zylinder x² + y²- 0.5 = 0 (weiß) und
y² + z² - 0.5 = 0 (blau). Die Verschmelzung (orange) ergibt sich mit (x² + y²- 0.5) • (y² + z² - 0.5) - 0.1 = 0.

Je kleiner der Wert von a ist, desto geringer ist die Verschmelzung.

Verschmelzen von 2 Kugeln
Verschmelzen von 2 Kugeln

Verschmelzen von 2 Kugeln

2 Zylinder
2 Zylinder

2 sich schneidende Zylinder

Verschmelzen von 2 Zylindern
Verschmelzen von 2 Zylindern

Verschmelzung der Zylinder


Für die obige Fläche (4 grüne Kugeln) ergibt sich z.B. mit a = 1

(x²+y²+z²-1) • ((x-2)²+y²+z²-1) • ((x-1)²+(y-√3)²+z²-1) • ((x-1)²+(y-√3/3)²+(z-2/3•√6)²-1) - 1 = 0

folgende Verschmelzung:

Verschmelzung von 4 Kugeln

Interpolation impliziter Flächen

Zwei implizite Flächen f1 und f2, können interpoliert werden, indem man die mit einem Faktor gewichteten Funktionsterme addiert. Wählt man z.B. einen Parameter c mit 0 c 1 und

 

c • f1 (x ,y, z) + (1 - c ) f2 (x ,y, z) = 0

 

so entspricht die entstehende Fläche für c = 1 der Fläche f1, für c = 0 der Fläche f2;  für Werte von c zwischen 0 und 1 entsteht eine interpolierte Fläche. So kann man z.B. ein Morphing zwischen einer Kugel und einem Würfel realisieren, indem man c animiert. (s. blaue Fläche in der folgenden Abbildung).

 

Die grüne Fläche zeigt die Interpolation eines Kegels und eines Zylinders in x-Richung.

 

Mit Hilfe der Interpolation können auch eher "ungewöhnliche" Flächen realisiert werden. So entsteht die orangene Fläche in der folgenden Abbildung durch die Interpolation der Flächen f1 und f2, mit a = 0.4 und

f1 (x, y, z) = x² + y² - z²                            (Kegel)

f2 (x, y, z) = (x-1)100 + y100 + z100 - 1    (um +1 in x-Richtung versetzter Würfel).

 

 

Morphing Kugel Würfel
Morphing Kugel Würfel

Morphing von Kugel und Würfel

Interpolation Kegel Zylinder
Interpolation Kegel Zylinder

Interpolation von Kegel und Zylinder

Interpolation Kegel Würfel
Interpolation Kegel Würfel

Interpolation von Kegel und Würfel


 

Die oben betrachteten Operationen kamen u.a. zum Einsatz bei der Modellierung der 3D Objekte 3D Birne, 3D Tiere, 3D Pilz, 3D Mond unter 3D Mathe / 3D Objekte.


Schnittkurve impliziter Flächen

Die Schnittkurve - eine unendlich dünne Linie) zweier impliziter Funktionen f1 und f2 errechnet sich gemäß

 

f1 (x, y, z) ² + f2 (x, y, z) ² - d = 0.

 

Um die Schnittkurve sichtbar zu machen, muss die Dicke der Linie d etwas größer als 0 gewählt werden. Die rote Fläche in der folgenden linken und mittleren Grafik zeigt die Schnittlinie zweier zueinander rechtwinkling angeordneter, sich schneidender Zylinder mit a = 0.00001. Im rechten Bild ist diese Schnittlinie für a = 0.001 in blau dargestellt.

 

Schnittkurve 2 Zylinder
Schnittkurve 2 Zylinder

Schnittkurve zweier Zylinder
mit a = 0.00001

Schnittkurve a=0.00001
Schnittkurve a=0.00001

Schnittkurve zweier Zylinder
mit a = 0.00001

Schnittkurve a=0.001
Schnittkurve a=0.001

Schnittkurve zweier Zylinder
mit a = 0.001 (Zoom)



Implizite Flächen - Galerie

Die Flächen in dieser Galerie wurden alle mit dem Graphing Calculator 3D (s. auch Tools) erzeugt. Hierfür steht der Graph Type Implicit zur Verfügung.

 

In der Tabelle unten auf der Seite finden Sie für die einzelnen Flächen die zugehörigen Funktionsgleichungen in einer kopierbaren Notation, die die meisten Mathematikprogramme verarbeiten können, sowie die Parametereinstellungen. Auf Wunsch schicke ich auch gerne entsprechende Graphing Calculator 3D-Dateien per Mail zu - kontaktieren Sie mich dazu einfach.

 

Bei einigen Flächen gibt es mehrere Varianten / Ansichten.
Verwenden Sie die Steuerelemente
< > oder klicken Sie direkt auf die Miniaturansicht.
Auch lohnt sich eine vergrößerte, detailreichere Ansicht durch Klicken auf das Symbol  .

Blob

Clebsch Surface

Deko-Würfel


Lattice



Implizite Flächen - Tabelle der Funktionen und Parameter

Fläche Funktion x y z

Blob

 

 x^2+y^2+z^2+sin(4*x)+sin(4*y)+sin(4*z)-1 = 0

-π

...

 

π

-π

...

 

π

-π

...

 

π

Clebsch Surface

 

81*(x^3+y^3+z^3)-189*(x^2*y+x^2*z+y^2*x+y^2*z+z^2*x+z^2*y)+54*x*y*z+126*(x*y+x*z+y*z)-9*(x^2+y^2+z^2)-9*(x+y+z)+1 = 0

 

f(x,y,z)=81*(x^3+y^3+z^3)-189*(x^2*y+x^2*z+y^2*x+y^2*z+z^2*x+z^2*y)+54*x*y*z+126*(x*y+x*z+y*z)-9*(x^2+y^2+z^2)-9*(x+y+z)+1 - 50 = 0

-3

...

 

3

-3

...

 

3

-3

...

 

3

Deko-Würfel

 

1 < a < 2

0 < b < 2

 

((x^2 + y^2 -a^2)^2+(z^2-1)^2) ((y^2 + z^2 -a^2)^2 + (x^2-1)^2) ((z^2 + x^2 -a^2)^2 + (y^2-1)^2) - b = 0

 

-2

...

 

2

-2

...

 

2

-2

...

 

2

Lattice

 

T=1

G=-1

((cos(x-(-sin(x)*sin(y)+cos(x)*cos(z))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(y-(-sin(y)*sin(z)+cos(y)*cos(x))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(y-(-sin(y)*sin(z)+cos(y)*cos(x))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(z-(-sin(z)*sin(x)+cos(z)*cos(y))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(z-(-sin(z)*sin(x)+cos(z)*cos(y))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(x-(-sin(x)*sin(y)+cos(x)*cos(z))*T/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2)))) * ( (cos(x-(-sin(x)*sin(y)+cos(x)*cos(z))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(y-(-sin(y)*sin(z)+cos(y)*cos(x))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(y-(-sin(y)*sin(z)+cos(y)*cos(x))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(z-(-sin(z)*sin(x)+cos(z)*cos(y))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))+cos(z-(-sin(z)*sin(x)+cos(z)*cos(y))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2))*sin(x-(-sin(x)*sin(y)+cos(x)*cos(z))*G/sqrt((-sin(x)*sin(y)+cos(x)*cos(z))^2+(-sin(y)*sin(z)+cos(y)*cos(x))^2+(-sin(z)*sin(x)+cos(z)*cos(y))^2)))) = 0

 

x^2 + y ^2 + z ^2<=64

 -8

...

 

8

 -8

...

 

8

 -8

...

 

8