|
|
> // Hi LibraryMan,
> //
> // here is some code for you to play with; the radius of the circles
> // can be specified:
> //
> // Side * (sqrt(3)-1)/4 circles are mutually touching
> // Side * sqrt(3)/9 circles intersect in midpoint ("true gothic")
> // Side * sqrt(3)/6 circles have max. size (all are equal)
> //
> // The distance of the centers (distance AB as named in your link) is
> //
> // Side-2*sqrt(3)*Radius
> //
> //
> //
> // Sputnik
> //
> //
> // ----------------------------
> // fr### [at] computermuseumfh-kielde
> // ----------------------------
>
>
> // +W640 +H480 -F +D +A0.1
>
> // macro for trefoil ====================================================
>
> #macro Trefoil (Side, Radius) // lower left corner at origin
>
> #local R = 0.005; // "Linewidth"/2
>
> #local Height = sqrt(3)/2*Side;
>
> #local Corner1 = <Side/2, Height, 0>; // top corner
> #local Corner2 = 0; // bottom left corner
> #local Corner3 = Side*x; // bottom right corner
>
> #local Center = <Side/2, Height/3, 0>; // triangle
>
> #local Center1 = <Side/2, Height-2*Radius, 0>; // top circle
> #local Center2 = <sqrt(3)*Radius, Radius, 0>; // bottom left circle
> #local Center3 = <Side-sqrt(3)*Radius, Radius, 0>; // bottom right circle
>
> union {
> union {
> sphere { Corner1, R }
> sphere { Corner2, R }
> sphere { Corner3, R }
> cylinder { Corner1, Corner2, R }
> cylinder { Corner2, Corner3, R }
> cylinder { Corner3, Corner1, R }
> texture { pigment { color green 1 } finish { ambient 1 } }
> }
> union {
> torus { Radius, R rotate 90*x translate Center1 }
> torus { Radius, R rotate 90*x translate Center2 }
> torus { Radius, R rotate 90*x translate Center3 }
> texture { pigment { color red 1 } finish { ambient 1 } }
> }
> // "}" omitted to allow application of transformations
>
> #end//macro Trefoil
>
>
> // simple scene with trefoils ===========================================
>
> Trefoil ( 1 , 1*(sqrt(3)-1)/4 ) translate <-1.6, 0.2 , 1> } // small
> Trefoil ( 2 , 2*sqrt(3)/9 ) translate <-1 , -1 , 1> } // gothic
> Trefoil ( 1 , 1*sqrt(3)/6 ) translate < 0.6, 0.2 , 1> } // large
>
> light_source { <-1500, 2500, -2000>, color rgb 1 }
>
> camera { orthographic up 3*y right 4*x }
>
>
> // END ==================================================================
>
>
Thanks, I'll play with this too! (not to confuse people, but LibraryMan
and LinuxLibrarian are the same person, but LibraryMan is my screen name
for when I'm posting via the web interface to the newsgroup)
--LinuxLibrarian
Post a reply to this message
|
|