// Twisted Torus // // (c) 2000 by Peter Popov // POV-Ray Technical Assistance Group member // peter.popov@tag.povray.org or ICQ 15002700 #version unofficial MegaPOV 0.5; #global_settings { photons { count 100000 jitter 1 } } #declare White = color rgb 1; #declare Brightness=1; /* might need adjustment but looks just fine to me */ #declare Steps = 500; #declare MajorRad = 10; #declare MinorRad = 2; #declare Turns = 8; #declare Circumference = 2*pi*MajorRad; #declare Thickness = 5*Circumference/Steps; /* needed the 5* adjustment to blob better */ #declare TwistedTorus = blob{ threshold 1 #declare i=0; #while (i /* this determines the cross-section */ translate x*MinorRad rotate z*360*Turns*i/Steps translate x*MajorRad+y*MinorRad*0.5 rotate y*360*i/Steps } #declare i=i+1; #end sturm texture { pigment { rgb <0.95,0.975,1> } finish { ambient 0.1 diffuse 0.9 brilliance 2 phong 0.5 phong_size 10 specular 1 roughness 0.005 metallic 1 reflection 0.25 /* blinn hightlights LAAEFTR :) */ } } } object { TwistedTorus photons { reflection on target} } plane { y, -2*MinorRad texture { pigment { color blue 0.75 } finish { reflection 0.25 reflection_type 1 brilliance 3.5 } } interior { ior 2.75 } } light_source { <0,100,0> color White*0.5*Brightness area_light 20*x, 20*z, 5, 5 adaptive 0 jitter spotlight point_at 0 radius 5 falloff 13 tightness 100 photons { reflection on } } light_source { <100,100,-100> color rgb <1,0.9,0.8>/2*Brightness area_light 5*sqrt(2)*(x+z), 10*x, 5, 5 adaptive 0 jitter photons { reflection on } } light_source { <0,40,60> color rgb <0.8,0.9,1>/2*Brightness area_light 8*sqrt(2)*(x-z), 16*x, 5, 5 adaptive 0 jitter spotlight point_at 0 radius 5 falloff 15 tightness 10 photons { reflection on } } camera { location <0,3,4>*MajorRad-3*MinorRad*y look_at -3*MinorRad*y angle 45 }