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

Home
- POV-Ray Tutorial

  - POV-Ray Beispiele
    Inhaltsübersicht
  - Geometrie
    - Bauern-Figur
    - Drahtgittter-Würfel
    - Oktagon
    - Eiform
    - Star - Stern
    - Optische Linse
    - Schachbrett
    - Rundkolben-Form
    - Erlenmeyerkolben-Form
    - Zwei-Zylinder-Blob
    - Regulärer Tetraeder
    - Penrose-Dreieck
    - Yin & Yang
    - Fischblase
    - 3fach Fischblase
    - Dreipass
  - Architektur

  - Technik
                                             
 
3xfishblobs

Dreifache Fischblase

Objekte:   "torus", "Segment_of_Torus"-Makro aus "shapes3.inc".
Methoden: "#declare", "union{...}", "object{...}"
Klicken Sie hier für ein Beispiel!
Die Konstruktion im Detail:
Bestimmung des Radius Ri der inneren Kreise:
Der Radius der innerne Kreise sei Ri.
In nebenstehender Zeichnung gilt:
Strecke MP = Ri (violett).
Strecke OP = Wurzel(3)/3 * Ri (cyanblau).
  ( tan(30°) = Wurzel(3)/3 ).
Strecke OM (rot) = Strecke OQ (gelb).
Strecke OQ = 2*Wurzel(3)/3 * Ri (gelb).
Bezeichnet man den Radius außen mit Ra,
dann gilt: Ra = QS + Strecke OQ.
Also: Ra = Ri + 2*Wurzel(3)/3 * Ri,
oder:
Ra = Ri*( 1 + 2*Wurzel(3)/3 ).
Umgekehrt ergibt sich folglich bei gebenem
äußeren Radius Ra der innere Radius Ri als:
Ri = Ra/( 1+ 2*Wurzel(3)/3 ).
Zur Bestimmung des Radius Ri der inneren Kreise.
Das grüne Torussegment wird jeweils um 120 Grad gedreht.
Im folgenden wird für das Torussegment mein Makro "#macro Segment_of_Torus( R_major, R_minor, Segment_Angle)" aus meiner Inlude-Datei verwendet. Diese Datei muß durch #include "shapes3.inc" in den Text eingebunden werden!
 
#declare R0 = 0.07;
// minor radius of all circles
#declare M  = <0,0,0>;
// center of the outer circle
// Threefold Fish
#declare Ra = 3.00-R0;
// radius of the circle 1
#declare Ri = Ra/(1+2/3*sqrt(3));
// radius of inner circles
#declare Mi = <0,-Ra+Ri,0>;
// center of the inner circle
#declare S_3_Angle =  210 ;
// segment angle  torus
// outer ring:
torus { Ra,  R0
     rotate<90,0,0>
     translate M
   } // end of torus  -----
// 3 torus segments:
#include "shapes_lo.inc"
#declare Segment =
object{
  Segment_of_Torus(Ri,R0,-S_3_Angle)
  rotate<-90, 0, 60>
  translate Mi
} // end of Torus_Segment(...)

object{ Segment rotate<0,0,  0>}
object{ Segment rotate<0,0,120>}
object{ Segment rotate<0,0,240>}
//------------------------- end
Szenenbeschreibung für POV-Ray:
".txt"-Datei oder ".pov"-Datei
top

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