//******************************************************************** #include "mops.inc" #include "macroputto.inc" //******************************************************************** camera{ location 2*< -2, -8, 6> sky < 0.00000, 0.00000, 1.00000> // Use right handed-system up < 0.0, 0.0, 1.0> // Where Z is up right < 1.38192, 0.0, 0.0> // Right Vector is adjusted to compensate for spherical (Moray) vs. planar (POV-Ray) aspect ratio angle 54.40000 // Vertical 40.800 look_at <0,0,2>// <14,0,4> } light_source { // Light001 <0.0, 0.0, 0.0> color rgb 1*<1.000, 1.000, 1.000> translate <500,-1000.0,500> } light_source { // Light001 <0.0, 0.0, 0.0> color rgb 1*<1.000, 1.000, 1.000> translate <-500,-1000.0,500> } //************************** objects ****************************** #declare glup=object{union { sphere { 0 , 0.25 material { Gum }} sphere { <0,0,sqrt(3)/3> , 0.15 material { Bell } } sphere { <0,1/2,-sqrt(3)/6> , 0.15 material { Gum2 } } sphere { <0,-1/2,-sqrt(3)/6> , 0.15 material { Gum2 } } sphere { <0.325,0,0> , 0.075 material { Alu } } sphere { <-0.325,0,0> , 0.075 material { Alu } } cylinder { 0 ,<0,0,sqrt(3)/3> , 0.070 material { mops_red}} cylinder { 0 ,<0,1/2,-sqrt(3)/6> , 0.07 material { mops_red}} cylinder { 0 ,<0,-1/2,-sqrt(3)/6> , 0.070 material { mops_red}} } scale 1/0.325 } #declare fleche= union { cylinder { -1*x ,0.175*x,0.05} cone { 0.175*x , 0.125, 1*x , 0 } } //*****************************parameters definition see img0******************************** #declare ptA=<-3,15,-7>; #declare ptB=<2,20,-2>; #declare norm = 6*vnormalize(vcross((ptB-ptA),y)); //example, vcroos to be sure to have an orthogonal vector to vector(ptB-ptA) sphere { -1*x , 0.25 material {Alu }} sphere { 1*x , 0.25 material { Alu }} // the objects i will use ( fleche and glup ) are build with these points as reference object { fleche transform putto(-1*x,1*x,0,0,3*z,0,0) material { Alu2}} sphere { ptA , 0.5 material {Alu3 }} sphere { ptB , 0.5 material { Alu4 }} object { fleche transform putto(-1*x,1*x,0,(ptA+ptB)/2,(ptA+ptB)/2+norm,0,0) material { Alu2}} //***********************part for img1 ********************************************* /* object { fleche material { Bell} } object { fleche transform putto(-1*x,1*x,0,ptA,ptB,0,0) material { Bell} } */ // Note : "fleche" don't need a normal vector //***********************part for img2 ********************************************* /* glup object { glup transform putto(-1*x,1*x,z,ptA,ptB,norm,0) } */