/* Persistence of Vision Raytracer Version 3.0 Standard include file Contents: =========================== Round Letters constructed from spheres & cylinders by T.Stiemsma 1998 Centers of .5 radius spheres & cyl's lie at -2 to 2 on the x-axis & -2.5 to 2.5 on the y-axis resulting in letters that measure 4x5 centered at (0,0) Place this file in your include folder or somewhere in you path. Call the letters up from your program like so: object { L_T } to bing the "T" up */ #declare L_A= merge{ sphere{<0,2.5,0> 0.5} // MiddleTop sphere{<-2,-2.5,0> 0.5} // LeftBottom sphere{<2,-2.5,0> 0.5} // RightBottom cylinder{<0,2.5,0>,<-2,-2.5,0>,.5} //MT-LB cylinder{<0,2.5,0>,<2,-2.5,0>,.5} //MT-RB cylinder{<-1.4125,-1,0>,<1.4125,-1,0>,.5} //1/2LM-1/2RM } #declare L_B= merge{ torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <.75,1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <.75,-1.25,0> } sphere{<-2 , -2.5, 0> 0.5} sphere{<-2 , 2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<.75,2.5,0>,.5} cylinder{<-2,0,0>,<.75,0,0>,.5} cylinder{<-2,-2.5,0>,<.75,-2.5,0>,.5} } #declare L_C= merge{ torus{ 2.5, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,0,0> translate <.5,0,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,180,0> translate <.75,-1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,0,180> translate <.75,1.25,0> } sphere{<2 , -1.25, 0> 0.5} sphere{<2 , 1.25, 0> 0.5} cylinder{<.5,-2.5,0>,<.75,-2.5,0>,.5} cylinder{<.5,2.5,0>,<.75,2.5,0>,.5} } #declare L_D= merge{ torus{ 2.5, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <-.5,0,0> } sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5 } cylinder{<-2,2.5,0>,<-.5,2.5,0>,.5} cylinder{<-2,-2.5,0>,<-.5,-2.5,0>,.5} } #declare L_E= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<1, 0, 0> 0.5} sphere{<2, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<2.0,2.5,0>,.5} cylinder{<-2,0,0>,<1,0,0>,.5} cylinder{<-2,-2.5,0>,<2,-2.5,0>,.5} } #declare L_F= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<1, 0, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<2.0,2.5,0>,.5} cylinder{<-2,0,0>,<1,0,0>,.5} } #declare L_G= merge{ torus{ 2.5, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,0,0> translate <.5,0,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,180,0> translate <.75,-1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,0,180> translate <.75,1.25,0> } sphere{<2 , -.75, 0> 0.5} sphere{<2 , 1.25, 0> 0.5} sphere{<.75 , -.75, 0> 0.5} cylinder{<.5,-2.5,0>,<.75,-2.5,0>,.5} cylinder{<.5,2.5,0>,<.75,2.5,0>,.5} cylinder{<.75,-.75,0>,<2,-.75,0>,.5} cylinder{<2,-.75,0>,<2,-1.25,0>,.5} } #declare L_H= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<2, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<2,-2.5,0>,<2,2.5,0>,.5} cylinder{<-2,0,0>,<2,0,0>,.5} } #declare L_I= merge{ sphere{<0,2.5,0> 0.5} // MiddleTop sphere{<0,-2.5,0> 0.5} // MiddleBottom cylinder{<0,2.5,0>,<0,-2.5,0>,.5}//MT-MB } #declare L_J= merge{ torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,90> translate <0,-.5,0> } cylinder{<2,-.5,0>,<2,2.5,0>,.5} sphere{<2,2.5,0> 0.5} sphere{<-2,-.5,0> 0.5} } #declare L_K= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<2, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,0,0>,<2,-2.5,0>,.5} cylinder{<-2,0,0>,<2,2.5,0>,.5} } #declare L_L= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<1.5, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,-2.5,0>,<1.5,-2.5,0>,.5} } #declare L_M= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<2, -2.5, 0> 0.5} sphere{<0, 0, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<0,0,0>,.5} cylinder{<2,2.5,0>,<0,0,0>,.5} cylinder{<2,-2.5,0>,<2,2.5,0>,.5} } #declare L_N= merge{ sphere{<-2, -2.5, 0> 0.5} sphere{<-2, 2.5, 0> 0.5} sphere{<2, 2.5, 0> 0.5} sphere{<2, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<2,-2.5,0>,<2,2.5,0>,.5} cylinder{<-2,2.5,0>,<2,-2.5,0>,.5} } #declare L_O= merge{ torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,90> translate <0,-.5,0> } torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,-90> translate <0,.5,0> } cylinder{<-2,-.5,0>,<-2,.5,0>,.5} cylinder{<2,-.5,0>,<2,.5,0>,.5} } #declare L_P= merge{ torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <.75,1.25,0> } sphere{<-2 , -2.5, 0> 0.5} sphere{<-2 , 2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<.75,2.5,0>,.5} cylinder{<-2,0,0>,<.75,0,0>,.5} } #declare L_Q= merge{ torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,90> translate <0,-.5,0> } torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,-90> translate <0,.5,0> } cylinder{<-2,-.5,0>,<-2,.5,0>,.5} cylinder{<2,-.5,0>,<2,.5,0>,.5} cylinder{<2,-2.5,0>,<.75,-1.25,0>,.5} sphere{<.75, -1.25, 0> 0.5} sphere{<2, -2.5, 0> 0.5} } #declare L_R= merge{ torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <.75,1.25,0> } sphere{<-2 , -2.5, 0> 0.5} sphere{<-2 , 2.5, 0> 0.5} sphere{<2, -2.5, 0> 0.5} cylinder{<-2,-2.5,0>,<-2,2.5,0>,.5} cylinder{<-2,2.5,0>,<.75,2.5,0>,.5} cylinder{<-2,0,0>,<.75,0,0>,.5} cylinder{<0,0,0>,<2,-2.5,0>,.5} } #declare L_S= merge{ torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,0,0> translate <-.75,1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <-90,180,0> translate <.75,-1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,0,0> translate <-.75,-1.25,0> } torus{ 1.25, 0.5 clipped_by { plane { <1,0,0>, 0 }} clipped_by { plane { <0,0,1>, 0 }} rotate <-90,0,180> translate <.75,1.25,0> } sphere{<-2 , -1.25, 0> 0.5} sphere{<2 , 1.25, 0> 0.5} cylinder{<-.75,2.5,0>,<.75,2.5,0>,.5} cylinder{<-.75,-2.5,0>,<.75,-2.5,0>,.5} cylinder{<-.75,0,0>,<.75,0,0>,.5} } #declare L_T= merge{ sphere{<-2,2.5,0> 0.5} // LeftTop sphere{<2,2.5,0> 0.5} // RightTop sphere{<0,-2.5,0> 0.5} // MiddleBottom cylinder{<0,2.5,0>,<0,-2.5,0>,.5} // MT-MB cylinder{<-2,2.5,0>,<2,2.5,0>,.5} // LT-RT } #declare L_U= merge{ torus{ 2, 0.5 clipped_by { plane { <1,0,0>, 0 }} rotate <90,0,90> translate <0,-.5,0> } cylinder{<-2,-.5,0>,<-2,2.5,0>,.5} cylinder{<2,-.5,0>,<2,2.5,0>,.5} sphere{<2,2.5,0> 0.5} sphere{<-2,2.5,0> 0.5} } #declare L_V= merge{ cylinder{<-2,2.5,0>,<0,-2.5,0>,.5} cylinder{<2,2.5,0>,<0,-2.5,0>,.5} sphere{<2,2.5,0> 0.5} sphere{<-2,2.5,0> 0.5} } #declare L_W= merge{ cylinder{<-2,2.5,0>,<-1.5,-2.5,0>,.5} cylinder{<2,2.5,0>,<1.5,-2.5,0>,.5} cylinder{<0,0,0>,<-1.5,-2.5,0>,.5} cylinder{<0,0,0>,<1.5,-2.5,0>,.5} sphere{<2,2.5,0> 0.5} sphere{<-2,2.5,0> 0.5} sphere{<-1.5,-2.5,0> 0.5} sphere{<1.5,-2.5,0> 0.5} sphere{<0,0,0> 0.5} } #declare L_X= merge{ sphere{<-2,2.5,0> 0.5} // LeftTop sphere{<2,2.5,0> 0.5} // RightTop sphere{<-2,-2.5,0> 0.5} // LeftBottom sphere{<2,-2.5,0> 0.5} // RightBottom cylinder{<-2,2.5,0>,<2,-2.5,0>,.5} // LT-RB cylinder{<2,2.5,0>,<-2,-2.5,0>,.5} // RT-LB } #declare L_Y= merge{ sphere{<-2,2.5,0> 0.5} // LeftTop sphere{<2,2.5,0> 0.5} // RightTop sphere{<0,-2.5,0> 0.5} // MiddleBottom cylinder{<-2,2.5,0>,<0,0,0>,.5} //LT-C cylinder{<2,2.5,0>,<0,0,0>,.5} //RT-C cylinder{<0,-2.5,0>,<0,0,0>,.5} //MB-C } #declare L_Z= merge{ sphere{<-2,2.5,0> 0.5} // LeftTop sphere{<2,2.5,0> 0.5} // RightTop sphere{<-2,-2.5,0> 0.5} // LeftBottom sphere{<2,-2.5,0> 0.5} // RightBottom cylinder{<-2,2.5,0>,<2,2.5,0>,.5} //LT-RT cylinder{<-2,-2.5,0>,<2,-2.5,0>,.5} //LB-RB cylinder{<2,2.5,0>,<-2,-2.5,0>,.5} //RT-LB }