Keywords: Villarceau circles.gif Assessments 1 Villarceau circles Villarceau circles in a Torus Rendered using POV-Ray POV-Ray source code <div style border 1px solid CCC;height 300px;overflow auto; ><source lang povray > / Villarceau circles 2 0 by Lucas V Barbosa - October 2 2006 - Coded in POV-Ray 3 6 License Public Domain Info ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Author user page http //en wikipedia org/wiki/User Kieff The final animation at Wikimedia Commons http //commons wikimedia org/wiki/Image Villarceau_circles gif Notes ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Several modifications were done for each part of the animation and I didn't keep them all here So if you wish to reproduce the animation you'll have to play with this code quite a bit / background color rgb 1 global_settings assumed_gamma 1 5 camera orthographic location <0 4 -5> 0 75 look_at <0 0 0> rotate 5 y // slight camera angle so the cutting plane doesn't look too boring //rotate 90 y // debug rotation light_source <0 0 0> 1 translate <-5 5 0> 1 shadowless // makes everything softer because shading comes entirely from the surface normal // this removes specular reflections but I thought it looked a lot better //Several rotation codes used for various parts of the animation // declare rotation -95 sin clock pi/2 y; // 360 clock y; declare rotation -90 y; // declare rotation -85 sin clock pi/2 y; //Bottom half-torus if 1 difference difference torus 1 0 5 torus 1 0 499 pigment image_map //surface inside the torus png checker2 png // 1024x512 checkered image with 64x64 cells interpolate 4 map_type 5 //transmit all 1-sin clock pi/2 //transmit all 0 85 box -3 <1 0 1> <1 1 1> 3 rotate degrees asin 0 5-0 001 z pigment image_map png checker png // 1024x512 checkered image with 64x64 cells interpolate 4 map_type 5 //transmit all 1-sin clock pi/2 //transmit all 0 85 finish specular 0 5 roughness 0 01 ambient 0 5 rotate rotation end //Top half-torus the one discarded during the animation //Notice it doesn't have an inner surface like the other half if 0 intersection difference torus 1 0 5 torus 1 0 499 box -3 <1 0 1> <1 1 1> 3 rotate degrees asin 0 5-0 001 z pigment image_map png checker png // 1024x512 checkered image with 64x64 cells interpolate 4 map_type 5 //transmit all 1-sin clock pi/2 // Fades it away while moving to the left see below //transmit all 0 85 finish specular 0 5 roughness 0 01 ambient 0 5 //translate -x 0 5 sin clock pi/2 // Moves this part to the left Should be enabled along with the fade code above rotate rotation end //Cutting plane if 0 box <1 8 0 001 1 8> -<1 8 0 001 1 8> pigment color rgb <1 0 8 0 5> //transmit 1-sin clock pi/2 0 4 //transmit 0 6+0 4 sin clock pi/2 transmit 0 6 finish specular 0 5 roughness 0 01 ambient 0 3 //translate 3 5 x - sin clock pi/2 3 5 x rotate degrees asin 0 5-0 001 z end //The Villarceau circles if 0 union torus 1 0 01 translate 0 5 z torus 1 0 01 translate -0 5 z pigment color rgb <1 0 0> //transmit clock finish ambient 1 no_shadow rotate degrees asin 0 5-0 001 z rotate -85 y end / END OF FILE / </source></div> This is not Licensed Animations of geometry Geometric intersections villarceau circles Created with Persistence of Vision Checkered Animated GIF 3D shading Images with Povray source code |