|
|
> // 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 ==================================================================
>
>
Following up after your explanation about the unintentional personal
reply, I appreciate your offer to give further explanation. I realized
after my original posting of the question that it's theoretically
possible to have numerous (even infinite?) possibilities for circles
within a triangle which fit the parameters I mentioned. The circles
could be infinitely small and still fit, being tangent to both sides
surrounding a vertex.
The 2nd configuration you listed, with the radius equal to Side *
sqrt(3)/9 , was of course the one I had in mind, but how did you figure
out the math? Just curious -- I rendered it and it works, sure, so I'm
not "looking a gift horse in the mouth"
Thanks,
Mark
Post a reply to this message
|
|