#declare pistonring = cylinder { //*PMName pistonring1 <0, 0, 0.05>, <0, 0, -0.05>, 4.1 pigment { color rgb <1, 0, 0.117647> } scale 1 rotate <0, 0, 0> translate <0, 0, 0> hollow false } #declare pistonpigment = pigment { color rgb <0.3, 1, 0.3> } #declare lobe = intersection { sphere { <0, 0, 0>, 4 scale 1 rotate <0, 0, 0> translate <0, 0, 0> } plane { //*PMName cut1 <0, 0, 1>, 0 scale 1 rotate <0, 0, 0> translate <0, 0, 0> } plane { //*PMName cut2 <1, 0, 1>, 0 scale 1 rotate <0, 0, 0> translate <0, 0, 0> inverse } } #declare rotor = difference { merge { //*PMName rotor1 object { //*PMName ring1 pistonring scale 1 rotate y*10 translate <0, 0, 0> } object { //*PMName ring2 pistonring scale 1 rotate y*35 translate <0, 0, 0> } object { //*PMName lobe0 lobe scale 1 rotate <0, 0, 0> translate <0, 0, 0> } object { //*PMName lobe1 lobe scale 1 rotate y*180 translate <0, 0, 0> } cylinder { <0, 0.5, 0>, <0, 6, 0>, 1 scale 1 rotate <0, 0, 0> translate <0, 0, 0> } rotate y*66 } cylinder { <0, -5, 0>, <0, 0.5, 0>, 1 scale 1 rotate <0, 0, 0> translate <0, 0, 0> } pigment { pistonpigment } } intersection { } global_settings { assumed_gamma 1.5 noise_generator 2 } light_source { <4, 5, -5>, rgb <1, 1, 1> } camera { perspective location <7.05267, 8.33458, -7.83364> sky <0, 1, 0> direction <0, 0, 1> right <1.33333, 0, 0> up <0, 1, 0> look_at <0, 0, 0> } object { //*PMName rotor1 rotor scale 1 rotate <0, 0, 0> translate <0, 0, 0> }