#if (version<3.1) #error "This file uses #macro feature of POV-Ray version 3.1 (or later?)" #end /*------------------------------------------------------*/ #declare a=10; #declare b=3; #declare c=2; #macro cycloid(uu,vv) < cos(uu/c)*cos(uu/b)*(a+cos(vv))+sin(uu/b)*sin(vv)*cos(vv), sin(uu/c)*cos(uu/b)*(a+cos(vv))+sin(uu/b)*sin(vv)*cos(vv), -sin(uu/b)*(a+cos(vv))+cos(uu/b)*sin(vv)*cos(vv) > #end /*-------------------------------------------------*/ //** stuff which must be declared before including p_surf.inc //** or p_surfA.inc // number of u,v steps #declare uusteps = 120; //**Number of u steps #declare vvsteps = 10; //**Number of v steps // u,v limits: #declare uumin = 0; //** #declare uumax = 2*b*c*pi; //** #declare vvmin = 0; //** #declare vvmax = 4*pi; //** // p_surfa.inc expects a vector valued macro // named 'xyz(uu,vv)' #macro xyz(uu,vv) //** cycloid(uu,vv) #end #include "p_surfA.inc" object{ p_surface texture{ pigment {color rgb <.3,.7,.8>} finish { ambient 0.1 specular 0.7 reflection .3 brilliance 8 } } rotate <0,0,0> scale 1 } light_source { <90, -230,100> color rgb 1 } light_source { <230, 200, 150> color rgb 1 } // just a big box object {box{-500,500 inverse}pigment{color rgb 1}} camera{ location < 9, -23, 8> look_at < 0, 0, 0> }