Descriptions and Samples for the POV-Ray Raytracer by Friedrich A. Lohmüller
Italiano Italiano
Deutsch Deutsch

Twofold Fishblob overview Trefoil

 
3 Fishblobs

The Construction of a Threefold Fishblob.

Objects:    "torus", "Torus_Segment" from "shapes_lo.inc".
Methods: "#declare", "union", "object{...}"

The Construction in Details:

How to calculate the radius Ri of the inner circles:

The radius of the inner circles here is called Ri. Look at the opposite image:
Line MP = Ri (violet).
Line OP = sqrt(3)/3 * Ri (cyanblue).
  ( tan(30°) = sqrt(3)/3 ).
Line OM (red) = Line OQ (yellow).
Line OQ = 2*sqrt(3)/3 * Ri (yelow).
If we call the outer radius Ra, we will have:
Ra = Line QS + Line OQ.
Also:
Ra = Ri + 2*sqrt(3)/3 * Ri,
or:
Ra = Ri * ( 1 + 2*sqrt(3)/3 ).
On the other side if we have a given outer radius Ra the inner radius Ri as follows:
Ri = Ra / ( 1 + 2*sqrt(3)/3 ).
How to define the radius Ri of the inner circles?
The green segment of a torus must be rotated by 120 and 240 degrees.
As a torus segment we use here my macro "#macro Torus_Segment( R_major, R_minor, Segment_Angle)" from my inlude file. This file must be included to our text by #include "shapes_lo.inc" !
#declare R0 = 0.07;
// minor radius of all tori
#declare M  = <0,0,0>;
// center of the outer circle
// Threefold Fishblob
#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{
  Torus_Segment(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
Click here for the complete scene file for POV-Ray:
".txt" file or ".pov" file

Twofold Fishblob overview Trefoil

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