POV-Ray Raytracer Beschreibungen von Friedrich A. Lohmüller
    English Version

Koodinatensysteme Raster Übersicht Zurück zur Übersicht Beschreibungen

Darstellung mathematischer Funktionen
in einem 2D Koordinatensystem.

Mathematischen Funktionen mit POV-Ray als "Funktionsplotter"

Objekte:    "plane, cylinder, cone, sphere"
Methoden: "color_map, layered textures, #macro, #while"
Zur Darstellung von mathematischen Funktionen nehmen wir eine gerasterte Fläche mit 2D-Koordinatenachsen als Hintergrund. Um ein quadratisches Blickfeld zu erhalten müssen wir eine Auflösung, wie etwa folgende
[600x600, No AA, mosaic]
width="600"
height="60" 0
Antialias=Off
+SP16
+B1024
in der Datei "quickres.ini" von POV-Ray einstellen.
(Hierzu öffnet man "tools", "Edit resolution INI file" und fügt den obigen Textabschnitt an geeigneter Stelle in die vorhandenen Einstellungen ein. Nach einem Neustart von POV-Ray 3.6 steht auch die so definierte Bildauflösung zur Auswahl.)
 
Alternativ kann man auch einfach die Zeile
+h600 +w600
in der Kommandozeile (weißes Feld neben der Auflösungseinstellung!) des POV-Ray Editors einfügen.
Mathematische Funktionen - 1:
Sample mathematical functions 700x700

Mathematische Funktionen - 2:
Sample mathematical functions 700x700

Mathematische Funktionen - 3:
Sample mathematical functions 700x700

Mathematische Funktionen - 4:
Sample mathematical functions 700x700

Mathematische Funktionen - 5:
Sample mathematical functions 700x700

Mathematische Funktionen - 6:
Sample mathematical functions 700x700
Um eine Funktion wie etwa "f(x) = 0.5*x + 3" zu zeichnen, benutzen wir kleine Kugeln, welche mit einer While-Schleife dicht aneinandergefügt werden:
union{
 #declare X   = -5.5; // start X
 #declare EndX = 5.5; // end   X
 #while ( X < EndX )

  sphere{ <0,0,0>,0.025
          pigment{ color rgb<1,0.65,0> }
          translate< X,0.5*X+3, 0>}

 #declare X = X + 0.002;  // next Nr
 #end // --------------- end of loop
} // end of union
//------------------------------------- end
Achtung: Schreiben Sie "X" (Großbuchstabe!) und nicht "x".
( Der Kleinbuchstabe "x" ist ein reserviertes Schlüsselwort
  als Abkürzung des Vektors "<1,0,0;>" !)
POVRay version 3.1, 3.5:
Schreiben Sie "X*X" for "x2", oder "(X-2)*(X-2)*(X-2)" für "(x-2)3".

 
Wenn wir eine Funktion zeichnen wollen, welche einen Term enthält, in dem ein "division by zero"-Fehler auftauchen kann, können wir die Schleife vor diesem Fehler durch einen #if-Befehl schützen. Die ist nicht unbedingt nötig, da POV-Ray selbst in der Lage ist einen Nenner des Werts Null zu erkennen.
Beispiel:
union{
 #declare X   = -5.5; // start X
 #declare EndX = 5.5; // end   X
 #while ( X < EndX )

  #if ( (X - 2 != 0) )
  sphere{ <0,0,0>,0.025
          pigment{ color rgb<1,0.65,0> }
          translate< X, 1/4*3/(X-2)-3, 0>}
  #end
 #declare X = X + 0.001;  // next Nr
#end // --------------- end of loop
} // end of union
//--------------------------------------- end
 
Beispiele mathematischer Funktionen
Download der Scenenbeschreibungen für POV-Ray hier:
Beispiel 1, Beispiel 2, Beispiel 3
Beispiel 4, Beispiel 5, Beispiel 6
 
Weitere Beispiele finden Sie in der Sektion "Math functions"
in meinem "Insert Menu Add-on".

Schreibweise der wichtigsten mathematischen Funktionen in POV-Ray:
abs(X)= Betrag von X = absolute value of X.
pow(X,Y) = Potenzierung: X hoch Y = exponentiation: X raised to the power Y
sqrt(X) = Quadratwurzel aus X = square root of X
 
int(X)  = Ganzzahlanteil von X = integer part of X
mod(X,Y)   = X modulo Y =((X/Y)-int(X/Y))*Y
div(X,Y) = Ganzzahlanteil von (X/Y) = integer part of (X/Y)
max(X,Y,...) = maximum of two or more float values
min(X,Y,...) = minimum of two or more float values
 
degrees(X) = rechnet Radiant in Grad um = converts radians to degrees
radians(X) = rechnet Grad in Radiant um = X*pi/180.0
 
sin(X) = Sinus von X = sine of X
cos(X) = Kosinus von X = cosine of X
tan(X) = Tangens von X = tangent of X
 
sinh(X) = Sinus hyperbolikus von X = hyperbolic sine of X
cosh(X) = Kosinus hyperbolikus von X = hyperbolic cosine of X
tanh(X) = Tangens hyperbolikus von X = hyperbolic tangent of X
 
asin(X) = Arcus-Sinus von X = arc-sine of X
acos(X) = Arcus-Kosinus von X = arc-cosine of X
atan2(X,Y) = Arcus-Tangens von X = arc-tangent of (X/Y)
 
asinh(X) = Invers Sinus hyperbolikus = invers hyperbolic sine of X
acosh(X) = Invers Kosinus hyperbolikus = inverse hyperbolic cosine of X
atanh(X) = Invers Tangens hyperbolikus = invers hyperbolic tangent of X
 
exp(X) = Exponentialfunktion e hoch X = exponential of X
log(X) = Logarithmus von X = logarithm of X
ln(X)  = natürlicher Logarithmus von X = natural logarithm of X  

Koordinatensysteme overview Übersicht Anleitungen
        Besucher: counter
seit dem 08. Mai 1999.   Danke für Ihren Besuch!

© Friedrich A. Lohmüller, 2005
email email: (legacy email redacted)
homepage:www.f-lohmueller.de