home *** CD-ROM | disk | FTP | other *** search
/ Freelog 38 / Freelog038.iso / Graphisme3D / Pov / Dos / povmsdos.exe / POVMSDOS.ZIP / INCLUDE / CHARS.INC < prev    next >
Text File  |  1998-01-21  |  16KB  |  668 lines

  1. #ifdef(Chars_Inc_Temp)
  2. // do nothing
  3. #else
  4. #declare Chars_Inc_Temp=version;
  5.  
  6.  
  7. #ifdef(View_POV_Include_Stack)
  8. #   debug "including chars.inc\n"
  9. #end
  10.  
  11. /*
  12.           Persistence of Vision Raytracer Version 3.1
  13.  
  14.            Characters for POV-Ray Version 3.1
  15.              Original by Ken Maeno 1992-93
  16.           Revised and extended by Chris Young
  17.         Revised for internal web removal by John Andersen
  18.  
  19.  This file includes 26 upper-case letter and other characters defined
  20.  as objects. The size of all characters is 4 * 5 * 1. The center of the
  21.  bottom side of a character face is set to the origin, so please
  22.  translate a character appropriately before rotating it about
  23.  the x or z axes.
  24.  
  25.     Usage:
  26.  
  27.     object{
  28.       char_A
  29.       pigment{ color Red }
  30.     }
  31.  
  32. */
  33.  
  34. #declare char_A =
  35.  intersection {
  36.    box{<-2,0,-0.1>,<2,5,1.1>}
  37.    union {
  38.      box{<-0.5,-6,0>,<0.5,0,1> rotate  z*16.699 }
  39.      box{<-0.5,-6,0>,<0.5,0,1> rotate -z*16.699 }
  40.      box{<-1,  -4,0>,<1, -3,1> }
  41.      translate y*5
  42.    }
  43.    bounded_by{ box { <-2,0,0>,<2,5,1> } }
  44.  }
  45.  
  46. #declare char_P =
  47.   union {
  48.     difference{
  49.       cylinder{0*z,z,1.5}
  50.       cylinder{-z,2*z,0.5}
  51.       plane{x,0}
  52.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  53.       translate<0.5, 3.5, 0>
  54.     }
  55.     box{ <-1.001, 4, 0>, <0.501, 5, 1> }
  56.     box{ <-1.001, 2, 0>, <0.501, 3, 1> }
  57.     box{ <-2, 0, 0>, <-1, 5, 1 > }
  58.   }
  59.  
  60. #declare char_B =
  61.   union {
  62.     object{char_P}
  63.     difference{
  64.       cylinder{0*z,z,1.5}
  65.       cylinder{-z,2*z,0.5}
  66.       plane{x,0}
  67.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  68.       translate<0.5, 1.5, 0>
  69.     }
  70.     box{ <-1.001, 0, 0>, <0.501, 1, 1> }
  71.   }
  72.  
  73. #declare char_C =
  74.   union {
  75.     difference{
  76.       cylinder{0*z,z,2}
  77.       cylinder{-z,2*z,1}
  78.       plane{y,0}
  79.       bounded_by{ box { <-2,0,0>, <2,2,1> } }
  80.       translate 3*y
  81.     }
  82.     difference{
  83.       cylinder{0*z,z,2}
  84.       cylinder{-z,2*z,1}
  85.       plane{-y,0}
  86.       bounded_by{ box { <-2,-2,0>, <2,0,1> } }
  87.       translate 2*y
  88.     }
  89.     box{ <-2,1.999,0>,<-1,3.001,1> }
  90.   }
  91.  
  92. #declare char_D =
  93.   union {
  94.     difference{
  95.       cylinder{0*z,z,2.5}
  96.       cylinder{-z,2*z,1.5}
  97.       plane{x,0}
  98.       bounded_by{ box { <0,-2.5,0>, <2.5,2.5,1> } }
  99.       translate <-0.5,2.5,0>
  100.     }
  101.     box{ <-1.001,4,0>,<-0.499,5,1> }
  102.     box{ <-1.001,0,0>,<-0.499,1,1> }
  103.     box{ <-2,0,0>,<-1,5,1> }
  104.   }
  105.  
  106. #declare char_F =
  107.   union {
  108.     box{ <-2,0,0>,<-1,5,1> }
  109.     box{ <-1.001,2,0>,<1.5,3,1> }
  110.     box{ <-1.001,4,0>,<2,5,1> }
  111.   }
  112.  
  113. #declare char_E =
  114.   union {
  115.     object{char_F}
  116.     box{ <-1.001,0,0>,<2,1,1> }
  117.   }
  118.  
  119. #declare char_G =
  120.   union {
  121.     object{char_C}
  122.     box{ < 0,1.5,0>,<2,2.3,1> }
  123.   }
  124.  
  125. #declare char_H =
  126.   union {
  127.     box{ <-2,0,0>,<-1,5,1> }
  128.     box{ < 1,0,0>,< 2,5,1> }
  129.     box{ <-1.001,2,0>,< 1.001,3,1> }
  130.   }
  131.  
  132. #declare char_I =
  133.   box{ <-0.5,0,0>,<0.5,5,1> }
  134.  
  135. #declare char_J =
  136.   union {
  137.     difference{
  138.       cylinder{0*z,z,2}
  139.       cylinder{-z,2*z,1}
  140.       plane{-y,0}
  141.       bounded_by{ box { <-2,-2,0>, <2,0,1> } }
  142.       translate 2*y
  143.     }
  144.     box{ <1,1.999,0>,<2,5,1> }
  145.   }
  146.  
  147. #declare char_K =
  148.   union {
  149.     intersection {
  150.       union {
  151.     box{ <0,-2,0>,<0.9,5,1> rotate z*45  translate x*0.7272 }
  152.     box{ <0,-5,0>,<0.9,2,1> rotate -z*45 translate <0.7272,5,0> }
  153.       }
  154.       box { <-1,0,-0.1>,<2,5,1.1> }
  155.       bounded_by{ box { <-2,0,0>,<2,5,1> } }
  156.     }
  157.     box { <-2,0,0>,<-1,5,1> }
  158.   }
  159.  
  160. #declare char_L =
  161.    union {
  162.      box{ <-2,1,0>,<-1,5,1> }
  163.      box{ <-2.001,0,0>,<2,1,1>    }
  164.    }
  165.  
  166. #declare char_M =
  167.   union {
  168.     intersection{
  169.       union {
  170.     box{<-0.5,-1,0>,<0.5,5,1> rotate  z*26.5651}
  171.     box{<-0.5,-1,0>,<0.5,5,1> rotate -z*26.5651}
  172.       }
  173.       box{<-1,0,-0.1>,<1,3,1.1>}
  174.       bounded_by{box{<-2,0,0>,<2,4,1>}}
  175.       translate y*2
  176.     }
  177.     box{ <-2,0,0>,<-1,5,1> }
  178.     box{ < 1,0,0>,< 2,5,1> }
  179.   }
  180.  
  181. #declare char_N =
  182.   union {
  183.     intersection{
  184.       box{ <0,0,0>,<1,6,1> rotate z*32.5031 translate x}
  185.       box{ <-1,0,-0.1>,<1,5,1.1> }
  186.       bounded_by{box{ <-1,0,0>,<1,5,1> } }
  187.     }
  188.     box{ <-2,0,0>,<-1,5,1> }
  189.     box{ <1,0,0>,<2,5,1> }
  190.   }
  191.  
  192. #declare char_O =
  193.   union {
  194.     object {char_C}
  195.     box{ <1,1.999,0>,<2,3.001,1> }
  196.   }
  197.  
  198. #declare char_Q =
  199.   union {
  200.     object {char_O}
  201.     box{ <0,0,0>,<1,2.2,1> rotate z*45 translate x*1.29289}
  202.   }
  203.  
  204. #declare char_R =
  205.   union {
  206.     object {char_P}
  207.     intersection {
  208.       box{ <0,-2,0>,<1,5,1> rotate z*36.8699 translate x}
  209.       box{ <-1,0,-0.1>,<2,2,1.1> }
  210.       bounded_by{box{ <-1,0,0>,<2,2,1> }}
  211.     }
  212.   }
  213.  
  214. #declare char_S =
  215.   union {
  216.     intersection{
  217.       cylinder{0*z,z,1.5}
  218.       cylinder{-z,2*z,0.5 inverse}
  219.       box{<0,0,-0.1>,<1.5,1.5,1.1>}
  220.       bounded_by{ box { <0,0,0>, <1.5, 1.5, 1> } }
  221.       translate <0.5,3.5,0>
  222.     }
  223.     difference{
  224.       cylinder{0*z,z,1.5}
  225.       cylinder{-z,2*z,0.5}
  226.       plane{x,0}
  227.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  228.       translate<0.5, 1.5, 0>
  229.     }
  230.     intersection{
  231.       cylinder{0*z,z,1.5}
  232.       cylinder{-z,2*z,0.5 inverse}
  233.       box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
  234.       bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
  235.       translate <-0.5,1.5,0>
  236.     }
  237.     difference{
  238.       cylinder{0*z,z,1.5}
  239.       cylinder{-z,2*z,0.5}
  240.       plane{-x,0}
  241.       bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
  242.       translate<-0.5, 3.5, 0>
  243.     }
  244.     box{ <-0.502,4,0>,<0.502,5,1> }
  245.     box{ <-0.502,2,0>,<0.502,3,1> }
  246.     box{ <-0.502,0,0>,<0.502,1,1> }
  247.   }
  248.  
  249. #declare char_T =
  250.   union{
  251.     box{ <-0.5,0,0>,<0.5,4,1> }
  252.     box{ <-2,  4,0>,<  2,5,1> }
  253.   }
  254.  
  255. #declare char_U =
  256.   union {
  257.     object{char_J}
  258.     box{ <-2,1.998,0>,<-1,5,1> }
  259.   }
  260.  
  261. #declare char_V =
  262.   intersection {
  263.     box{<-2,0,-0.1>,<2,5,1.1>}
  264.     union {
  265.       box{<-0.5,-1,0>,<0.5,6,1> rotate    z*16.699 }
  266.       box{<-0.5,-1,0>,<0.5,6,1> rotate -z*16.699 }
  267.     }
  268.    bounded_by{ box { <-2,0,0>,<2,5,1> } }
  269.  }
  270.  
  271. #declare char_W =
  272.   union {
  273.     intersection{
  274.       union {
  275.     box{<-0.5,-5,0>,<0.5,0,1> rotate  z*26.5651}
  276.     box{<-0.5,-5,0>,<0.5,0,1> rotate -z*26.5651}
  277.     translate 3*y
  278.       }
  279.       box{<-1,0,-0.1>,<1,3,1.1>}
  280.       bounded_by{box{<-1,0,0>,<2,3,1>}}
  281.     }
  282.     box{ <-2,0,0>,<-1,5,1> }
  283.     box{ < 1,0,0>,< 2,5,1> }
  284.   }
  285.  
  286. #declare char_X =
  287.   intersection {
  288.     box{<-2,0,-0.1>,<2,5,1.1>}
  289.     union {
  290.       box{<-0.5,-3.5,0>,<0.5,3.5,1> rotate  z*30.9}
  291.       box{<-0.5,-3.5,0>,<0.5,3.5,1> rotate -z*30.9}
  292.       translate 2.5*y
  293.     }
  294.     bounded_by{ box { <-2,0,0>,<2,5,1> } }
  295.  }
  296.  
  297. #declare char_Y =
  298.   union {
  299.     intersection {
  300.       box{<-2,2,-0.1>,<2,5,1.1>}
  301.       union {
  302.     box{<-0.5,0,0>,<0.5,3.5,1> rotate  z*30.9}
  303.     box{<-0.5,0,0>,<0.5,3.5,1> rotate -z*30.9}
  304.     translate 2.5*y
  305.       }
  306.       bounded_by{ box { <-2,2,0>,<2,5,1> } }
  307.     }
  308.     box {<-0.5,0,0>,<0.5,3,1>}
  309.  }
  310.  
  311. #declare char_Z =
  312.   union {
  313.     intersection{
  314.       box{ <0,0,0>,<1,7,1> rotate z*-29.6749 translate -2*x}
  315.       box{<-2,0,-0.1>,<2,5,1.1>}
  316.       bounded_by{ box { <-2,0,0>,<2,5,1> } }
  317.     }
  318.     box{ <-2,4,0>,<1.2,5,1> }
  319.     box{ <-1.2,0,0>,<2,1,1> }
  320.   }
  321.  
  322. #declare char_Dash =
  323.    box{ <-2,2,0>,<2,3,1> }
  324.  
  325. #declare char_Plus =
  326.    union{
  327.      box{ <-2,2,0>,<2,3,1> }
  328.      box{ <-0.5,0.5,0>,<0.5,4.5,1> }
  329.    }
  330.  
  331. #declare char_0 = object{char_O}
  332.  
  333. #declare char_1 =
  334.    union{
  335.      object{char_I}
  336.      box{ <0,-1.25,0>,<1,0,1> rotate -z*45 translate <-0.5,5,0>}
  337.      box{ <-1,0,0>,<1,1,1> }
  338.    }
  339.  
  340. #declare char_2 =
  341.   union{
  342.     intersection{
  343.       cylinder{0*z,z,1.5}
  344.       cylinder{-z,2*z,0.5 inverse}
  345.       box{<-1.5,0,-0.1>,<0,1.5,1.1>}
  346.       bounded_by{ box { <-1.5,0,0>, <0, 1.5, 1> } }
  347.       translate<-0.5, 3.5, 0>
  348.     }
  349.     intersection{
  350.       cylinder{0*z,z,1.5}
  351.       cylinder{-z,2*z,0.5 inverse}
  352.       plane{-x,0 }
  353.       plane{-y,0 rotate -z*54 }
  354.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  355.       translate <0.5,3.5,0>
  356.     }
  357.     box{<-0.501,4,0>,<0.501,5,1>}
  358.     box{<-2,0,0>,<2,1,1>}
  359.     box{<-0.999,0.5,0>,<3.5,1.5,1> rotate -z*(90+54) translate <0.5,3.5,0>}
  360.   }
  361.  
  362. #declare char_3 =
  363.   union {
  364.     intersection{
  365.       cylinder{0*z,z,1.5}
  366.       cylinder{-z,2*z,0.5 inverse}
  367.       box{<-1.5,0,-0.1>,<0,1.5,1.1>}
  368.       bounded_by{ box { <-1.5,0,0>, <0, 1.5, 1> } }
  369.       translate<-0.5, 3.5, 0>
  370.     }
  371.     difference{
  372.       cylinder{0*z,z,1.5}
  373.       cylinder{-z,2*z,0.5}
  374.       plane{x,0}
  375.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  376.       translate<0.5, 3.5, 0>
  377.     }
  378.     difference{
  379.       cylinder{0*z,z,1.5}
  380.       cylinder{-z,2*z,0.5}
  381.       plane{x,0}
  382.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  383.       translate<0.5, 1.5, 0>
  384.     }
  385.     intersection{
  386.       cylinder{0*z,z,1.5}
  387.       cylinder{-z,2*z,0.5 inverse}
  388.       box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
  389.       bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
  390.       translate <-0.5,1.5,0>
  391.     }
  392.     box{ <-0.501,4,0>,<0.501,5,1> }
  393.     box{ <-0.5,2,0>,<0.501,3,1> }
  394.     box{ <-0.501,0,0>,<0.501,1,1> }
  395.   }
  396.  
  397. #declare char_4 =
  398.   union {
  399.     box {<0,0,0>,<1,5,1>}
  400.     box {<-2,1,0>,<2,2,1>}
  401.     box {<0,-1,0>,<3.6,0,1> rotate z*56.31 translate <-2,2,0>}
  402.   }
  403.  
  404. #declare char_5 =
  405.   union {
  406.     difference{
  407.       cylinder{0*z,z,1.5}
  408.       cylinder{-z,2*z,0.5}
  409.       plane{x,0}
  410.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  411.       translate<0.5, 1.5, 0>
  412.     }
  413.     intersection{
  414.       cylinder{0*z,z,1.5}
  415.       cylinder{-z,2*z,0.5 inverse}
  416.       box{<-1.5,-1.5,-0.1>,<0,0,1.1>}
  417.       bounded_by{ box { <-1.5,-1.5,0>, <0, 0, 1> } }
  418.       translate <-0.5,1.5,0>
  419.     }
  420.     box{ <-1.001,4,0>,<2,5,1> }
  421.     box{ <-2,2,0>,<-1,5,1> }
  422.     box{ <-1.001,2,0>,<0.501,3,1> }
  423.     box{ <-0.501,0,0>,<0.501,1,1> }
  424.   }
  425.  
  426. #declare char_6 =
  427.   union {
  428.     intersection{
  429.       cylinder{0*z,z,1.5}
  430.       cylinder{-z,2*z,0.5 inverse}
  431.       box{<0,0,-0.1>,<1.5,1.5,1.1>}
  432.       bounded_by{ box { <0,0,0>, <1.5, 1.5, 1> } }
  433.       translate <0.5,3.5,0>
  434.     }
  435.     intersection{
  436.       cylinder{0*z,z,1.5}
  437.       cylinder{-z,2*z,0.5 inverse}
  438.       box{<-1.5,0,-0.1>,<0,1.5,1.1>}
  439.       bounded_by{ box { <-1.5,0,0>, <0,1.5,1> } }
  440.       translate<-0.5, 3.5, 0>
  441.     }
  442.     difference{
  443.       cylinder{0*z,z,1.5}
  444.       cylinder{-z,2*z,0.5}
  445.       plane{x,0}
  446.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  447.       translate<0.5, 1.5, 0>
  448.     }
  449.     difference{
  450.       cylinder{0*z,z,1.5}
  451.       cylinder{-z,2*z,0.5}
  452.       plane{-x,0}
  453.       bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
  454.       translate <-0.5,1.5,0>
  455.     }
  456.     box{ <-0.501,4,0>,<0.501,5,1> }
  457.     box{ <-2,1.5,0>,<-1,3.501,1> }
  458.     box{ <-0.501,2,0>,<0.501,3,1> }
  459.     box{ <-0.501,0,0>,<0.501,1,1> }
  460.   }
  461.  
  462. #declare char_7 =
  463.   union{
  464.     box{ <-2,  4,0>,<  2,5,1> }
  465.     intersection {
  466.       box{ <-1,-1,0>,<0,4.272,1> rotate -z*20.556 translate x/2}
  467.       box{<-0.5,0,-0.1>,<2,4.5,1.1>}
  468.       bounded_by{box{<-0.5,0,-0>,<2,4.5,1>}}
  469.     }
  470.   }
  471.  
  472. #declare char_8 =
  473.   union {
  474.     difference{
  475.       cylinder{0*z,z,1.5}
  476.       cylinder{-z,2*z,0.5}
  477.       plane{-x,0}
  478.       bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
  479.       translate<-0.5, 3.5, 0>
  480.     }
  481.     difference{
  482.       cylinder{0*z,z,1.5}
  483.       cylinder{-z,2*z,0.5}
  484.       plane{x,0}
  485.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  486.       translate<0.5, 3.5, 0>
  487.     }
  488.     difference{
  489.       cylinder{0*z,z,1.5}
  490.       cylinder{-z,2*z,0.5}
  491.       plane{x,0}
  492.       bounded_by{ box { <0,-1.5,0>, <1.5, 1.5, 1> } }
  493.       translate<0.5, 1.5, 0>
  494.     }
  495.     difference{
  496.       cylinder{0*z,z,1.5}
  497.       cylinder{-z,2*z,0.5}
  498.       plane{-x,0}
  499.       bounded_by{ box { <-1.5,-1.5,0>, <0, 1.5, 1> } }
  500.       translate <-0.5,1.5,0>
  501.     }
  502.     box{ <-0.501,4,0>,<0.501,5,1> }
  503.     box{ <-0.501,2,0>,<0.501,3,1> }
  504.     box{ <-0.501,0,0>,<0.501,1,1> }
  505.   }
  506.  
  507. #declare char_9 =
  508.   object{char_6 translate -2.5*y rotate z*180 translate 2.5*y}
  509.  
  510. #declare char_ExclPt=
  511.   union {
  512.     cylinder {<0,4.5,0>,<0,4.5,1>,0.5}
  513.     cylinder {<0,0.5,0>,<0,0.5,1>,0.5}
  514.     intersection {
  515.       box{<-0.5,-3,0>,<0.5,0,1> rotate    z*9.5}
  516.       box{<-0.5,-3,-0.1>,<0.5,0,1.1> rotate -z*9.5 }
  517.       bounded_by{box{<-0.5,-3,0>,<0.5,0,1> }}
  518.       translate y*4.5
  519.     }
  520.   }
  521.  
  522. #declare char_AtSign =
  523.   union {
  524.     difference{
  525.       cylinder{0*z,z,2}
  526.       cylinder{-z,2*z,1.5}
  527.       box { <0,-1.25,-0.1>, <2.5,0,1.1> }
  528.       bounded_by{ box { <-2,-2,0>, <2,2,1> } }
  529.       translate 2.5*y
  530.     }
  531.     difference{
  532.       cylinder{0*z,z,0.75}
  533.       cylinder{-z,2*z,0.25}
  534.       plane{-y,0}
  535.       bounded_by{ box { <-2,-2,0>, <2,0,1> } }
  536.       translate <1.25,2.5,0>
  537.     }
  538.     difference{
  539.       cylinder{0*z,z,1}
  540.       cylinder{-z,2*z,0.5}
  541.       bounded_by{ box { <-1,-1,0>, <1,1,1> } }
  542.       translate 2.5*y
  543.     }
  544.   }
  545.  
  546. #declare char_Num =
  547.   union {
  548.     box{ <-0.5,-2,0>,<0.5,2,1> rotate -10*z translate <-1,2.5,0>}
  549.     box{ <-0.5,-2,0>,<0.5,2,1> rotate -10*z translate < 1,2.5,0>}
  550.     box{ <-1.5,3,0>,< 2,4,1> }
  551.     box{ <-2,1,0>,< 1.5,2,1> }
  552.   }
  553.  
  554. #declare char_Dol =
  555.   union {
  556.     difference{
  557.       cylinder{0*z,z,1.25}
  558.       cylinder{-z,2*z,0.25}
  559.       plane{x,0}
  560.       bounded_by{ box { <0,-1.25,0>, <1.25, 1.25, 1> } }
  561.       translate<0.75, 1.75, 0>
  562.     }
  563.     difference{
  564.       cylinder{0*z,z,1.25}
  565.       cylinder{-z,2*z,0.25}
  566.       plane{-x,0}
  567.       bounded_by{ box { <-1.25,-1.25,0>, <0, 1.25, 1> } }
  568.       translate<-0.75, 3.25, 0>
  569.     }
  570.     box{ <-0.751,3.5,0>,<2,4.5,1> }
  571.     box{ <-0.751,2,0>,<0.751,3,1> }
  572.     box{ <-2,0.5,0>,<0.751,1.5,1> }
  573.     box{ <-0.5,0,0>,<0.5,5,1> }
  574.   }
  575.  
  576. #declare char_Perc =
  577.   union {
  578.     difference{
  579.       cylinder{0*z,z,1}
  580.       cylinder{-z,2*z,0.25}
  581.       bounded_by{ box { <-1,-1,0>, <1, 1, 1> } }
  582.       translate<1, 1, 0>
  583.     }
  584.     difference{
  585.       cylinder{0*z,z,1}
  586.       cylinder{-z,2*z,0.25}
  587.       bounded_by{ box { <-1,-1,0>, <1, 1, 1> } }
  588.       translate<-1, 4, 0>
  589.     }
  590.     box{ <-0.25,-2.8,0>,<0.25,2.8,1> rotate -33*z translate 2.5*y}
  591.   }
  592.  
  593. #declare char_Hat =
  594.   intersection {
  595.     union {
  596.       box{ <0,0,0>,<1,3,1>  rotate -33*z translate <-2,1.5,0>}
  597.       box{ <-1,0,0>,<0,3,1> rotate  33*z translate < 2,1.5,0>}
  598.     }
  599.     box {<-2.1,1.5,-0.1>,<2.1,3.75,1.1>}
  600.     bounded_by{box {<-2.1,1.5,0>,<2.1,3.75,1>}}
  601.   }
  602.  
  603. #declare char_Amps =
  604.   union {
  605.     difference{
  606.       cylinder{0*z,z,1.25}
  607.       cylinder{-z,2*z,0.5}
  608.       bounded_by{ box { <-1.25,-1.25,0>, <1.25, 1.25, 1> } }
  609.       translate <-0.25,3.75,0>
  610.     }
  611.     difference{
  612.       cylinder{0*z,z,1.75}
  613.       cylinder{-z,2*z,0.75}
  614.       bounded_by{ box { <-1.75,-1.75,0>, <1.75, 1.75, 1> } }
  615.       translate <-0.25,1.75,0>
  616.     }
  617.     difference{
  618.       cylinder{0*z,z,1.25}
  619.       cylinder{-z,2*z,0.5}
  620.       plane{-x,0}
  621.       bounded_by{ box { <-1.25,-1.25,0>, <0, 1.25, 1> } }
  622.       translate <2,1.75,0>
  623.     }
  624.   }
  625.  
  626. #declare char_Astr =
  627.   union {
  628.     box{ <-0.5,-2,0>,<0.5,2,1> }
  629.     box{ <-0.5,-2,0>,<0.5,2,1> rotate 60*z}
  630.     box{ <-0.5,-2,0>,<0.5,2,1> rotate -60*z}
  631.     translate 2.5*y
  632.   }
  633.  
  634. #declare char_LPar =
  635.   intersection{
  636.     cylinder{<7,2.5,0>,<7,2.5,1>, 7.5}
  637.     cylinder{<7,2.5,-0.1>,<7,2.5,1.1>, 6.5 inverse}
  638.     box{<-2,0,-0.1>,<2,5,1.1>}
  639.     bounded_by{box{<-1,0,0>,<1,5,1>}}
  640.   }
  641.  
  642. #declare char_RPar =
  643.   intersection{
  644.     cylinder{<-7,2.5,0>,<-7,2.5,1>, 7.5}
  645.     cylinder{<-7,2.5,-0.1>,<-7,2.5,1.1>, 6.5 inverse}
  646.     box{<-2,0,-0.1>,<2,5,1.1>}
  647.     bounded_by{box{<-1,0,0>,<1,5,1>}}
  648.   }
  649.  
  650. #declare char_LSqu =
  651.   union {
  652.     box{<-1,0,0>,<0,5,1>}
  653.     box{<-0.001,0,0>,<1,1,1>}
  654.     box{<-0.001,4,0>,<1,5,1>}
  655.   }
  656.  
  657. #declare char_RSqu =
  658.   union {
  659.     box{<0,0,0>,<1,5,1>}
  660.     box{<-1,0,0>,<0.001,1,1>}
  661.     box{<-1,4,0>,<0.001,5,1>}
  662.   }
  663.  
  664.  
  665. // End of CHARS.INC
  666. #version Chars_Inc_Temp;
  667. #end
  668.