home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 9 / CD_ASCQ_09_1193.iso / news / 4428 / things / thing4.dat < prev    next >
Text File  |  1992-07-15  |  19KB  |  563 lines

  1. // THING4.DAT         Copyright 1992
  2. //                    Truman Brown
  3. //                    All Rights Reserved
  4.  
  5. #include "colors.dat"
  6.  
  7. #declare lightsphere = object sphere <0 0 0> 2 end_sphere end_object
  8. #declare light1      = object lightsphere texture color red 0.1 green 0.1 blue 0.1 end_texture light_source end_object
  9. #declare light2      = object lightsphere texture color red 0.2 green 0.2 blue 0.2 end_texture light_source end_object
  10. #declare light3      = object lightsphere texture color red 0.3 green 0.3 blue 0.3 end_texture light_source end_object
  11.  
  12. view_point
  13.    location  <  29       33  -40 >
  14.    direction <   0        0    2 >
  15.    up        <   0        1    0 >
  16.    right     <   1.333333 0    0 >
  17.    look_at   <   0        5  100 >
  18. end_view_point
  19.  
  20. #declare QSphere = quadric
  21.    <1.0 1.0 1.0>
  22.    <0.0 0.0 0.0>
  23.    <0.0 0.0 0.0>
  24.    -1.0
  25. end_quadric
  26.  
  27. #declare Cylinder_X = quadric
  28.    <0.0 1.0 1.0>
  29.    <0.0 0.0 0.0>
  30.    <0.0 0.0 0.0>
  31.    -1.0
  32. end_quadric
  33.  
  34. #declare Cylinder_Y = quadric
  35.    <1.0 0.0 1.0>
  36.    <0.0 0.0 0.0>
  37.    <0.0 0.0 0.0>
  38.    -1.0
  39. end_quadric
  40.  
  41. #declare Cylinder_Z = quadric
  42.    <1.0 1.0 0.0>
  43.    <0.0 0.0 0.0>
  44.    <0.0 0.0 0.0>
  45.    -1.0
  46. end_quadric
  47.  
  48. declare Connector_1 =
  49.    object
  50.       quadric
  51.          < 0.0  1.0  1.0>
  52.          < 0.0  0.0  0.0>
  53.          < 0.0  0.0  0.0>
  54.           -1.0
  55.       end_quadric
  56.       clipped_by
  57.          plane < 1.0  0.0  0.0> 1.0 end_plane
  58.          plane <-1.0  0.0  0.0> 0.0 end_plane
  59.       end_clip
  60.    end_object
  61.  
  62. #declare thingtexture1 =
  63.    texture
  64.       color red 0.31 green 0.32 blue 0.37
  65.       ambient 0.07
  66.       diffuse 0.73
  67.       specular 0.85
  68.       roughness 0.00000001
  69.       reflection 0.3676
  70.       brilliance 1.8
  71.    end_texture
  72.  
  73. #declare planetexture =
  74.    texture
  75.       wood
  76.       turbulence 0.05
  77.       color_map
  78.          [0.00 0.10 color red 0.42 green 0.26 blue 0.15
  79.                     color red 0.42 green 0.26 blue 0.15]
  80.          [0.10 0.90 color red 0.42 green 0.26 blue 0.15
  81.                     color red 0.52 green 0.37 blue 0.26]
  82.          [0.90 1.01 color red 0.52 green 0.37 blue 0.26
  83.                     color red 0.52 green 0.37 blue 0.26]
  84.       end_color_map
  85.       ambient 0.15
  86.       diffuse 0.75
  87.       specular 0.9
  88.       roughness 0.0000001
  89.       brilliance 2
  90.       reflection 0.15
  91.       scale <2 2 25>
  92.    end_texture
  93.  
  94. #declare orb1 =
  95.    object
  96.       // Declaration created by CircleMaster 1.0 (c) 1992 Truman Brown
  97.       // a [radius on x-axis]            = 15.000000000000000
  98.       // b [radius on y-axis]            = 10.000000000000000
  99.       // c [radius on z-axis]            = 15.000000000000000
  100.       // desired radius at intersection  = 10.000000000000000
  101.       // y value of intersection point   =  7.453559924999299
  102.       // desired tangent angle           = 30.806981117105181
  103.       //    complement                   = 59.193018882894819
  104.       // tangent angle achieved          = 30.806981117105181
  105.       //    complement                   = 59.193018882894819
  106.       // foci on X-axis [+/-]            = 11.180339887498949
  107.       // unit radius scaler              =  0.100000000000000
  108.       // a after scaling                 =  1.500000000000000
  109.       // b after scaling                 =  1.000000000000000
  110.       // c after scaling                 =  1.500000000000000
  111.       // y at intersection after scaling =  0.745355992499930
  112.       // *** Don't forget to add a texture
  113.       intersection
  114.          quadric
  115.             <0.004444444444444 0.01 0.004444444444444>
  116.             <0.000000000000000 0.00 0.000000000000000>
  117.             <0.000000000000000 0.00 0.000000000000000>
  118.             -1.0
  119.          end_quadric
  120.          plane <0.0 1.0 0.0> 7.453559924999299  end_plane
  121.       end_intersection
  122.       bounded_by
  123.          quadric
  124.             QSphere
  125.             scale <15.01 15.01 15.01>
  126.          end_quadric
  127.       end_bound
  128.    end_object
  129.  
  130. #declare hyp1 =
  131.    object
  132.       // Declaration created by Hype 1.0 (c) 1992 Truman Brown
  133.       // 1st radius          = 10.000000000000000
  134.       //     tangent angle   = 30.806981117105178
  135.       //     complement      = 59.193018882894819
  136.       // 2nd radius          = 10.000000000000000
  137.       //     tangent angle   = 30.806981117105178
  138.       //     complement      = 59.193018882894819
  139.       // Angle of asymptotes = 30.295069839878160
  140.       // Length              = 11.448668044798925
  141.       // A value             =  2.000000000000000
  142.       // B value             =  1.168474789344355
  143.       // C value             =  1.000000000000000
  144.       // foci [+/-]          =  2.316318918744423
  145.       // *** Don't forget to add a texture
  146.       quadric
  147.          <0.25 -0.732421875 0.25>
  148.          <0.00  0.000000000 0.00>
  149.          <0.00  0.000000000 0.00>
  150.             -1.0
  151.       end_quadric
  152.       clipped_by
  153.          plane <0.0 1.0 0.0>  0                 end_plane
  154.          plane <0.0 1.0 0.0> -5.724334022399463 inverse end_plane
  155.       end_clip
  156.       bounded_by
  157.          quadric
  158.             QSphere
  159.             scale <12 12 12>
  160.          end_quadric
  161.       end_bound
  162.       translate <0.0 13.177993947398762 0.0>
  163.    end_object
  164.  
  165. #declare hyp2 =
  166.    object
  167.       // Declaration created by Hype 1.0 (c) 1992 Truman Brown
  168.       // 1st radius          =  5.000000000000000
  169.       //     tangent angle   = 53.750679117100617
  170.       //     complement      = 36.249320882899383
  171.       // 2nd radius          =  5.000000000000000
  172.       //     tangent angle   = 53.750679117100617
  173.       //     complement      = 36.249320882899383
  174.       // Angle of asymptotes = 51.340191745909912
  175.       // Length              = 11.456439237389599
  176.       // A value             =  2.000000000000000
  177.       // B value             =  2.500000000000000
  178.       // C value             =  1.000000000000000
  179.       // foci [+/-]          =  3.201562118716424
  180.       // *** Don't forget to add a texture
  181.       quadric
  182.          <0.25 -0.16 0.25>
  183.          <0.00  0.00 0.00>
  184.          <0.00  0.00 0.00>
  185.             -1.0
  186.       end_quadric
  187.       clipped_by
  188.          plane <0.0 1.0 0.0>  5.728219618694800 end_plane
  189.          plane <0.0 1.0 0.0>  0                 inverse end_plane
  190.       end_clip
  191.       bounded_by
  192.          quadric
  193.             QSphere
  194.             scale <8 8 8>
  195.          end_quadric
  196.       end_bound
  197.       translate <0.0 13.177993947398762 0.0>
  198.    end_object
  199.  
  200. #declare orb2 =
  201.    object
  202.       // Declaration created by CircleMaster 1.0 (c) 1992 Truman Brown
  203.       // a [radius on x-axis]            =  6.200000000000000
  204.       // b [radius on y-axis]            =  6.200000000000024
  205.       // c [radius on z-axis]            =  6.200000000000000
  206.       // desired radius at intersection  =  5.000000000000000
  207.       // y value of intersection point   =  3.666060555964687
  208.       // desired tangent angle           = 53.750679117100617
  209.       //    complement                   = 36.249320882899383
  210.       // tangent angle achieved          = 53.750679117100717
  211.       //    complement                   = 36.249320882899283
  212.       // foci on Y-axis [+/-]            =  0.000000539743014
  213.       // unit radius scaler              =  0.200000000000000
  214.       // a after scaling                 =  1.240000000000000
  215.       // b after scaling                 =  1.240000000000005
  216.       // c after scaling                 =  1.240000000000000
  217.       // y at intersection after scaling =  0.733212111192937
  218.       // *** Don't forget to add a texture
  219.       quadric
  220.          <0.026014568158169 0.026014568158168 0.026014568158169>
  221.          <0.000000000000000 0.000000000000000 0.000000000000000>
  222.          <0.000000000000000 0.000000000000000 0.000000000000000>
  223.          -1.0
  224.       end_quadric
  225.       clipped_by
  226.          plane <0.0 -1.0 0.0> 3.666060555964687  end_plane
  227.       end_clip
  228.       bounded_by
  229.          quadric
  230.             QSphere
  231.             scale <6.3 6.3 6.3>
  232.          end_quadric
  233.       end_bound
  234.       translate <0.0 22.572274122058249 0.0>
  235.    end_object
  236.  
  237. #declare hyperthing =
  238.    composite
  239.       object orb1 texture thingtexture1 end_texture end_object
  240.       object orb2 texture thingtexture1 end_texture end_object
  241.       object hyp1 texture thingtexture1 end_texture end_object
  242.       object hyp2 texture thingtexture1 end_texture end_object
  243.       bounded_by
  244.          quadric
  245.             QSphere
  246.             scale <16 29 16>
  247.          end_quadric
  248.       end_bound
  249.       translate <0 10 0>
  250.    end_composite
  251.  
  252.  
  253. #declare xblop =
  254. object
  255.    union
  256.       difference
  257.          intersection
  258.             quadric
  259.                Cylinder_Y
  260.                scale <10 1 10>
  261.             end_quadric
  262.             plane <0  1 0> 0 end_plane
  263.             plane <0 -1 0> 9 end_plane
  264.          end_intersection
  265.          quartic  // 1 19
  266.             < 1 0 0 0 2 0 0 2 0 -362
  267.               0 0 0 0 0 0 0 0 0 0
  268.               1 0 0 2 0 38 0 0 0 0
  269.               1 0 -362 0 361 >
  270.          end_quartic
  271.       end_difference
  272.       intersection
  273.          sphere <0 0 0> 1 end_sphere
  274.          plane <0 -1 0> 0 end_plane
  275.       end_intersection
  276.    end_union
  277.    bounded_by
  278.       sphere <0 0 0> 15 end_sphere
  279.    end_bound
  280.    translate <0 9 0>
  281. end_object
  282.  
  283. #declare a_row =
  284.    composite
  285.       composite hyperthing translate <0 0  30> end_composite
  286.       composite hyperthing translate <0 0  60> end_composite
  287.       composite hyperthing translate <0 0  90> end_composite
  288.       composite hyperthing translate <0 0 120> end_composite
  289.       composite hyperthing translate <0 0 150> end_composite
  290.       composite hyperthing translate <0 0 180> end_composite
  291.       composite hyperthing translate <0 0 210> end_composite
  292.       composite hyperthing translate <0 0 240> end_composite
  293.       composite hyperthing translate <0 0 270> end_composite
  294.       composite hyperthing translate <0 0 300> end_composite
  295.       composite hyperthing translate <0 0 330> end_composite
  296.       composite hyperthing translate <0 0 360> end_composite
  297.       composite hyperthing translate <0 0 390> end_composite
  298.       composite hyperthing translate <0 0 420> end_composite
  299.       composite hyperthing translate <0 0 450> end_composite
  300.       bounded_by
  301.          quadric
  302.             Cylinder_Z
  303.             scale <30 30 1>
  304.             translate <0 9 0>
  305.          end_quadric
  306.       end_bound
  307.    end_composite
  308.  
  309. #declare blade_texture =
  310.    texture
  311.       metallic
  312.       color Gold
  313.       ambient 0.05
  314.       diffuse 0.8
  315.       phong 1.0
  316.       phongsize 100
  317.       roughness 0.000000001
  318.       brilliance 1
  319.       reflection 0.6
  320.    end_texture
  321.  
  322. #declare handle_texture =
  323.    texture
  324.       color Sienna
  325.       ambient 0.05
  326.       diffuse 0.4
  327.       specular 1.0
  328.       roughness 0.000000001
  329.       brilliance 1.0
  330.       reflection 0.3
  331.    end_texture
  332.  
  333. #declare handle_ball_texture =
  334.    texture
  335.       color      OldGold
  336.       ambient    0.05
  337.       diffuse    0.5
  338.       brilliance 1.5
  339.       specular   1.0
  340.       roughness  0.0000000001
  341.       reflection 0.6
  342.    end_texture
  343.  
  344. #declare hand_plate_texture =
  345.    texture
  346.       handle_texture
  347.    end_texture
  348.  
  349. #declare grip_texture =
  350.    texture
  351.       marble
  352.       turbulence 1.00
  353.       color_map
  354.           [0.00 0.10 color red 0.42 green 0.26 blue 0.15
  355.                      color red 0.00 green 0.00 blue 0.00]
  356.           [0.10 0.90 color red 0.00 green 0.00 blue 0.00
  357.                      color red 0.52 green 0.37 blue 0.26]
  358.           [0.90 1.01 color red 0.52 green 0.37 blue 0.26
  359.                      color red 0.42 green 0.26 blue 0.15]
  360.       end_color_map
  361.       ambient 0.0
  362.       diffuse 0.6
  363.       phong 1.0
  364.       phongsize 50
  365.       scale <2 2 2>
  366.    end_texture
  367.  
  368. #declare handle_ball =
  369.    object
  370.      sphere <0 0 0> 5 end_sphere
  371.    end_object
  372.  
  373. #declare blade =
  374.    object
  375.      difference
  376.         union
  377.            intersection {sharpened portion of blade}
  378.               union
  379.                  quadric
  380.                     QSphere
  381.                     scale <105 4.5 1>
  382.                  end_quadric
  383.                  difference {points}
  384.                     quadric
  385.                        QSphere
  386.                        scale <10 10 1>
  387.                     end_quadric
  388.                     quadric
  389.                        QSphere
  390.                        scale <10 12 2>
  391.                        translate <-6 0 0>
  392.                     end_quadric
  393.                     translate <-10 0 0>
  394.                  end_difference
  395.               end_union
  396.               plane <0 0 -1> 0 rotate <-1.2 0 0> translate <0 0 -0.5> end_plane
  397.               plane <0 0 -1> 0 rotate < 1.2 0 0> translate <0 0 -0.5> end_plane
  398.               plane <0 0  1> 0 rotate < 1.2 0 0> translate <0 0  0.5> end_plane
  399.               plane <0 0  1> 0 rotate <-1.2 0 0> translate <0 0  0.5> end_plane
  400.               plane <1 0  0> 0                                      end_plane
  401.            end_intersection
  402.         end_union
  403.         quadric      {groove in blade : side 1}
  404.            QSphere
  405.            scale <100 0.8 0.6>
  406.            translate <0 0 -0.65>
  407.         end_quadric
  408.         quadric      {groove in blade : side 2}
  409.            QSphere
  410.            scale <100 0.8 0.6>
  411.            translate <0 0 0.65>
  412.         end_quadric
  413.       end_difference
  414.       bounded_by
  415.          sphere <-53 0 0> 54 end_sphere
  416.       end_bound
  417.    end_object
  418.  
  419. #declare hand_plate =
  420.    object
  421.       union
  422.          union
  423.             quadric QSphere scale <2.0 4 4> end_quadric
  424.             quadric QSphere scale <2.4 3 3> end_quadric
  425.             quadric QSphere scale <2.6 2 2> end_quadric
  426.             translate <0 0 5>
  427.          end_union
  428.          union
  429.             quadric QSphere scale <2.0 4 4> end_quadric
  430.             quadric QSphere scale <2.4 3 3> end_quadric
  431.             quadric QSphere scale <2.6 2 2> end_quadric
  432.             translate <0 0 -5>
  433.          end_union
  434.       end_union
  435.       bounded_by
  436.          sphere <0 0 0> 22 end_sphere
  437.       end_bound
  438.    end_object
  439.  
  440. #declare handle =
  441.    object
  442.       intersection
  443.          quadric
  444.             QSphere
  445.             scale <19 3.3 1.5>
  446.             translate <18 0 0>
  447.          end_quadric
  448.          plane <-1 0 0> -2 end_plane
  449.       end_intersection
  450.       bounded_by
  451.          sphere <18 0 0> 20 end_sphere
  452.       end_bound
  453.    end_object
  454.  
  455. #declare rubber_bump =
  456.    quadric
  457.       QSphere
  458.       scale <1.5 2.5 1.92>
  459.       rotate <0 0 -20>
  460.    end_quadric
  461.  
  462. #declare grip =
  463.    object
  464.       union {rubber on grip}
  465.          quadric rubber_bump translate < 3 0 0> end_quadric
  466.          quadric rubber_bump translate < 4 0 0> end_quadric
  467.          quadric rubber_bump translate < 5 0 0> end_quadric
  468.          quadric rubber_bump translate < 6 0 0> end_quadric
  469.          quadric rubber_bump translate < 7 0 0> end_quadric
  470.          quadric rubber_bump translate < 8 0 0> end_quadric
  471.          quadric rubber_bump translate < 9 0 0> end_quadric
  472.          quadric rubber_bump translate <10 0 0> end_quadric
  473.          quadric rubber_bump translate <11 0 0> end_quadric
  474.          quadric rubber_bump translate <12 0 0> end_quadric
  475.          quadric rubber_bump translate <13 0 0> end_quadric
  476.          quadric rubber_bump translate <14 0 0> end_quadric
  477.          quadric rubber_bump translate <15 0 0> end_quadric
  478.          quadric rubber_bump translate <16 0 0> end_quadric
  479.          quadric rubber_bump translate <17 0 0> end_quadric
  480.          quadric rubber_bump translate <18 0 0> end_quadric
  481.          quadric rubber_bump translate <19 0 0> end_quadric
  482.          quadric rubber_bump translate <20 0 0> end_quadric
  483.          quadric rubber_bump translate <21 0 0> end_quadric
  484.          quadric rubber_bump translate <22 0 0> end_quadric
  485.          quadric rubber_bump translate <23 0 0> end_quadric
  486.          quadric rubber_bump translate <24 0 0> end_quadric
  487.          quadric rubber_bump translate <25 0 0> end_quadric
  488.          quadric rubber_bump translate <26 0 0> end_quadric
  489.          quadric rubber_bump translate <27 0 0> end_quadric
  490.          quadric rubber_bump translate <28 0 0> end_quadric
  491.          quadric rubber_bump translate <29 0 0> end_quadric
  492.          quadric rubber_bump translate <30 0 0> end_quadric
  493.          quadric rubber_bump translate <31 0 0> end_quadric
  494.          quadric rubber_bump translate <32 0 0> end_quadric
  495.          quadric rubber_bump translate <33 0 0> end_quadric
  496.          quadric rubber_bump translate <34 0 0> end_quadric
  497.          quadric rubber_bump translate <35 0 0> end_quadric
  498.          quadric rubber_bump translate <36 0 0> end_quadric
  499.          quadric rubber_bump translate <37 0 0> end_quadric
  500.          quadric rubber_bump translate <38 0 0> end_quadric
  501.       end_union
  502.       bounded_by
  503.          sphere <18 0 0> 20 end_sphere
  504.       end_bound
  505.    end_object
  506.  
  507. #declare sword =
  508.    composite
  509.       object handle_ball translate <38 0 0> texture handle_ball_texture end_texture end_object
  510.       object blade                          texture blade_texture       end_texture end_object
  511.       object grip                           texture grip_texture        end_texture end_object
  512.       object handle                         texture handle_texture      end_texture end_object
  513.       object hand_plate                     texture hand_plate_texture  end_texture end_object
  514.       translate <45 0 0>
  515.    end_composite
  516.  
  517. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8   0> end_composite
  518. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8  90> end_composite
  519. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8 180> end_composite
  520. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8 270> end_composite
  521. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8 360> end_composite
  522. composite sword scale <1.1 1.1 1.1> rotate <0 -90 0> rotate <30 0 0> translate <0 8 450> end_composite
  523.  
  524. composite a_row rotate <0 -3 0> translate < 38 0 0> end_composite
  525. composite a_row rotate <0  3 0> translate <-38 0 0> end_composite
  526.  
  527. object
  528.    intersection
  529.       plane < 1.0  0.0  0.0> 1.0 end_plane
  530.       plane <-1.0  0.0  0.0> 1.0 end_plane
  531.       plane < 0.0  1.0  0.0> 1.0 end_plane
  532.       plane < 0.0 -1.0  0.0> 1.0 end_plane
  533.       plane < 0.0  0.0  1.0> 1.0 end_plane
  534.       plane < 0.0  0.0 -1.0> 1.0 end_plane
  535.    end_intersection
  536.    translate <0 -1 0>
  537.    scale <10 20000 99999>
  538.    rotate <0 3 0>
  539.    translate <-38 0 0>
  540.    texture planetexture end_texture
  541. end_object
  542.  
  543. object
  544.    intersection
  545.       plane < 1.0  0.0  0.0> 1.0 end_plane
  546.       plane <-1.0  0.0  0.0> 1.0 end_plane
  547.       plane < 0.0  1.0  0.0> 1.0 end_plane
  548.       plane < 0.0 -1.0  0.0> 1.0 end_plane
  549.       plane < 0.0  0.0  1.0> 1.0 end_plane
  550.       plane < 0.0  0.0 -1.0> 1.0 end_plane
  551.    end_intersection
  552.    translate <0 -1 0>
  553.    scale <10 20000 99999>
  554.    rotate <0 -3 0>
  555.    translate <38 0 0>
  556.    texture planetexture end_texture
  557. end_object
  558.  
  559. object light3 translate < -40  365 -420> end_object
  560. object light3 translate < 180  240  -50> end_object
  561. object light3 translate <-380   40  -20> end_object
  562. object light1 translate <  28   50 -220> end_object
  563.