Descriptions and Examples for the POV-Ray Raytracer by Friedrich A. Lohmüller
    POV-Ray Examples - How To Make Objects for POV-Ray
Italiano Italiano
Français français
Deutsch Deutsch

- POV-Ray Tutorial

  - POV-Ray Examples
   Index of Content
  - Geometry
    - Pawn
    - Wireframe Cube
    - Octagon
    - Egg Shape
    - Star
    - Optical Lens
    - Chessboard
    - Regular Tetrahedron
    - Penrose Triangle
    - Yin & Yang
    - Fishblob
    - Threefold
    - Trefoil
  - Architecture
  - Engineering


Objects: "torus", "Segment_of_Torus"-Makro aus "".
Methods: "#declare", "union{...}", "object{...}"
Click here for an example!
The construction in details:
How to calculate the radius Ri
of the inner circles:

The radius of the inner circles is called here Ri.
The radius of the outer circle is called here Ra.
Look at the opposite image:
Ri (orange) = 1/2*Ra (yellowish green).
If the center of the outer circle is at
M0 = <0,0,0>, we have the centers
of the inner circles at
M1 = <Ri,0,0> and M1 = <-Ri,0,0> .

As a torus segment we use here my macro "#macro Segment_of_Torus( R_major, R_minor, Segment_Angle)" from my inlude file. This file must be included to our text by #include "" !
How to define the radius Ri
of the inner circles?
// center:
#declare M  = <0,0,0>;
// outer radius:
#declare Ra = 3.00 -R0;
// radius of inner half circles:
#declare Ri  = Ra /2 ;

//  2 torus segments
#include ""

union{   //-----------------------
torus { Ra,  R0
        translate M0
  } // end of torus  -------------
   Segment_of_Torus( Ri, R0, -180)
   translate < Ri,0,0>
 } // end of Torus_Segment(...) --
   Segment_of_Torus( Ri, R0, -180)
   rotate<-90,0,0> rotate<0,0,180>
   translate <-Ri,0,0>
 } // end of Torus_Segment(...) --
}// end of union
//---------------------------- end
Scene description
for POV-Ray:
".txt" file or ".pov" file

© Friedrich A. Lohmüller, 2013