Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  Koordinatensysteme
  und 2D-Funktionen

  - Karopapier
  - Koordinatensysteme
      mit Achsen
  - Makro für Raster
      mit 2 Niveaus
 > 2D-Funktionen
      Beispiele
  - Mathematische Funktionen
      in POV-Ray
                                           

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.
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".
ebenso "Y" statt "y" und "Z" statt "z"

Viele Kleinbuchstaben sind reservierte Schlüsselworte in POV-Ray:
   x = <1,0,0;>, y = <0,1,0;>, z = <0,0,1;> !!!!
Schreiben Sie "X*X" für "x2", bzw. "(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: povfun1.pov, Beispiel 2: povfun2.pov,
Beispiel 3: povfun3.pov, Beispiel 4: povfun4.pov,
Beispiel 5: povfun5.pov, Beispiel 6: povfun6.pov.
 
Weitere Beispiele finden Sie
in der Sektion "Math Functions"
in meinem "Insert Menu Add-on".

Zur Schreibweise der Mathematische Funktionen in POV-Ray:
Mathematische Funktionen
Beispiele

Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun1.txt.

 
Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun2.txt.

 
Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun3.txt.

 
Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun4.txt.

 
Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun5.txt.

 
Sample mathematical functions 700x700
Download der Szenenbeschreibungen
für POV-Ray: povfun6.txt.

 
top

© Friedrich A. Lohmüller, 2011
www.f-lohmueller.de