home *** CD-ROM | disk | FTP | other *** search
/ Chestnut's Multimedia Mania / MM_MANIA.ISO / graphics / povscn20 / fish.inc < prev    next >
Text File  |  1993-09-27  |  37KB  |  1,520 lines

  1. // Persistence Of Vision raytracer version 2.0 sample file.
  2.  
  3. //----------- one fish include....3/13/92 M.Miller
  4.  
  5. #declare Fish_Inc_Temp = version
  6. #version 1.0
  7.  
  8. /*------------ FISH SKIN-----------------------*/
  9. #declare YourTexture = 
  10. texture {
  11.    image_map { <1 -1 0> gif "finskin2.gif"  }
  12.    scale <100 60 1> translate <-50 -30 -1>
  13.    //Brown_Agate
  14.    //scale <50 30 27>
  15.    ambient  0.2 diffuse 0.5 phong 1.0 phong_size 80
  16. }
  17.  
  18. /*------------- CTDS INFO -----------------------*/
  19. #declare Dot =
  20. 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. }
  26.  
  27. #declare Connector_1 = 
  28. object {
  29.    quadric {
  30.       < 0.0  1.0  1.0>
  31.       < 0.0  0.0  0.0>
  32.       < 0.0  0.0  0.0>
  33.       -1.0
  34.    }
  35.    clipped_by {
  36.       plane { < 1.0  0.0  0.0> 1.0  }
  37.       plane { <-1.0  0.0  0.0> 0.0  }
  38.    }
  39. }
  40.  
  41. #declare Connector_2 =
  42. quadric {
  43.    < 1.0 -1.0  1.0>
  44.    < 0.0  0.0  0.0>
  45.    < 0.0  0.0  0.0>
  46.    0.0
  47.    rotate < 0.0  0.0  90.0>
  48. }
  49.  
  50. /*------------ START THE BODY CURVES OF FISH-----------*/
  51. #declare YourThing1 =
  52. composite {
  53.    object {
  54.       union {
  55.          difference {
  56.             union {
  57.                quadric {
  58.                   Dot
  59.                   scale     < 7.000000  7.000000  7.000000>
  60.                   translate <-37.000010 -8.000000  0.000000>
  61.                }
  62.  
  63.                quadric {
  64.                   Dot
  65.                   scale     < 7.600000  7.600000  7.600000>
  66.                   translate <-35.005830 -8.066590  0.000000>
  67.                }
  68.  
  69.                quadric {
  70.                   Dot
  71.                   scale     < 8.200000  8.200000  8.200000>
  72.                   translate <-33.011630 -8.000770  0.000000>
  73.                }
  74.  
  75.                quadric {
  76.                   Dot
  77.                   scale     < 8.800000  8.800000  8.800000>
  78.                   translate <-31.026180 -7.802830  0.000000>
  79.                }
  80.  
  81.                quadric {
  82.                   Dot
  83.                   scale     < 9.400000  9.400000  9.400000>
  84.                   translate <-29.058240 -7.473640  0.000000>
  85.                }
  86.  
  87.                quadric {
  88.                   Dot
  89.                   scale     < 10.000000  10.000000  10.000000>
  90.                   translate <-27.116460 -7.014650  0.000000>
  91.                }
  92.  
  93.                quadric {
  94.                   Dot
  95.                   scale     < 10.600000  10.600000  10.600000>
  96.                   translate <-25.209400 -6.427880  0.000000>
  97.                }
  98.  
  99.                quadric {
  100.                   Dot
  101.                   scale     < 11.200000  11.200000  11.200000>
  102.                   translate <-23.345460 -5.715910  0.000000>
  103.                }
  104.  
  105.                quadric {
  106.                   Dot
  107.                   scale     < 11.800000  11.800000  11.800000>
  108.                   translate <-21.532840 -4.881880  0.000000>
  109.                }
  110.  
  111.  
  112.                quadric {
  113.                   Dot
  114.                   scale     < 12.400000  12.400000  12.400000>
  115.                   translate <-19.779530 -3.929470  0.000000>
  116.                }
  117.  
  118.                quadric {
  119.                   Dot
  120.                   scale     < 13.000000  13.000000  13.000000>
  121.                   translate <-18.093250 -2.862860  0.000000>
  122.                }
  123.  
  124.                quadric {
  125.                   Dot
  126.                   scale     < 12.720000  12.720000  12.720000>
  127.                   translate <-16.763390 -1.988050  0.000000>
  128.                }
  129.  
  130.                quadric {
  131.                   Dot
  132.                   scale     < 12.440000  12.440000  12.440000>
  133.                   translate <-15.398940 -1.168230  0.000000>
  134.                }
  135.  
  136.                quadric {
  137.                   Dot
  138.                   scale     < 12.160000  12.160000  12.160000>
  139.                   translate <-14.002160 -0.404780  0.000000>
  140.                }
  141.  
  142.                quadric {
  143.                   Dot
  144.                   scale     < 11.880000  11.880000  11.880000>
  145.                   translate <-12.575390  0.301040  0.000000>
  146.                }
  147.  
  148.                quadric {
  149.                   Dot
  150.                   scale     < 11.600000  11.600000  11.600000>
  151.                   translate <-11.121010  0.948050  0.000000>
  152.                }
  153.  
  154.                quadric {
  155.                   Dot
  156.                   scale     < 11.320000  11.320000  11.320000>
  157.                   translate <-9.641440  1.535170  0.000000>
  158.                }
  159.  
  160.                quadric {
  161.                   Dot
  162.                   scale     < 11.040000  11.040000  11.040000>
  163.                   translate <-8.139140  2.061410  0.000000>
  164.                }
  165.  
  166.                quadric {
  167.                   Dot
  168.                   scale     < 10.760000  10.760000  10.760000>
  169.                   translate <-6.616620  2.525920  0.000000>
  170.                }
  171.  
  172.                quadric {
  173.                   Dot
  174.                   scale     < 10.480000  10.480000  10.480000>
  175.                   translate <-5.076400  2.927910  0.000000>
  176.                }
  177.             }
  178.  
  179.             //----------------- chops off front face & hollow mouth
  180.             plane { < 1 0 0 > 0 translate <-30 -10 0> rotate <0 0 45>   }
  181.             quadric { Ellipsoid scale <10 10 10> translate <-27 -7 0>  }
  182.          }
  183.  
  184.          //---------------- add chin
  185.  
  186.  
  187.          union {
  188.             difference {
  189.                quadric { Ellipsoid scale <11 11 11>  }
  190.                plane { <0 1 0> 0 inverse translate <0 -7 0> rotate <0 0 23>  }
  191.                translate <-30 -6 0>
  192.             }
  193.             //----------------- lower lip
  194.             difference {
  195.                cylinder { <0, 0, 0>, y, 1 scale <11 1.5 9> rotate <0 0 23> translate <-29 -14 0>  }
  196.                quadric { Ellipsoid scale <8.5 8.5 8.5> translate <-31 -7 0>  }
  197.             }
  198.          }
  199.       }
  200.       texture { YourTexture  }
  201.  
  202.       bounded_by {
  203.          quadric {
  204.             Dot
  205.             scale < 26.403494  26.403494  26.403494>
  206.             translate <-26.866425 -5.054880  0.000000>
  207.          }
  208.       }
  209.    }
  210. }
  211.  
  212. #declare YourThing3 =
  213. composite {
  214.    object {
  215.       quadric {
  216.          Dot
  217.          scale     < 10.200000  10.200000  10.200000>
  218.          translate <-3.521070  3.266700  0.000000>
  219.       }
  220.       texture {
  221.          YourTexture
  222.       }
  223.    }
  224.    object {
  225.       quadric {
  226.          Dot
  227.          scale     < 9.920000  9.920000  9.920000>
  228.          translate <-1.953210  3.541750  0.000000>
  229.       }
  230.       texture {
  231.          YourTexture
  232.       }
  233.    }
  234.    object {
  235.       quadric {
  236.          Dot
  237.          scale     < 9.640000  9.640000  9.640000>
  238.          translate <-0.375430  3.752580  0.000000>
  239.       }
  240.       texture {
  241.          YourTexture
  242.       }
  243.    }
  244.    object {
  245.       quadric {
  246.          Dot
  247.          scale     < 9.360000  9.360000  9.360000>
  248.          translate < 1.209640  3.898860  0.000000>
  249.       }
  250.       texture {
  251.          YourTexture
  252.       }
  253.    }
  254.    object {
  255.       quadric {
  256.          Dot
  257.          scale     < 9.080000  9.080000  9.080000>
  258.          translate < 2.799360  3.980320  0.000000>
  259.       }
  260.       texture {
  261.          YourTexture
  262.       }
  263.    }
  264.    object {
  265.       quadric {
  266.          Dot
  267.          scale     < 8.800000  8.800000  8.800000>
  268.          translate < 4.391080  3.996850  0.000000>
  269.       }
  270.       texture {
  271.          YourTexture
  272.       }
  273.    }
  274.    object {
  275.       quadric {
  276.          Dot
  277.          scale     < 8.520000  8.520000  8.520000>
  278.          translate < 5.982150  3.948410  0.000000>
  279.       }
  280.       texture {
  281.          YourTexture
  282.       }
  283.    }
  284.    object {
  285.       quadric {
  286.          Dot
  287.          scale     < 8.240000  8.240000  8.240000>
  288.          translate < 7.569910  3.835070  0.000000>
  289.       }
  290.       texture {
  291.          YourTexture
  292.       }
  293.    }
  294.    object {
  295.       quadric {
  296.          Dot
  297.          scale     < 7.960000  7.960000  7.960000>
  298.          translate < 9.151730  3.657040  0.000000>
  299.       }
  300.       texture {
  301.          YourTexture
  302.       }
  303.    }
  304.    object {
  305.       quadric {
  306.          Dot
  307.          scale     < 7.680000  7.680000  7.680000>
  308.          translate < 10.724970  3.414610  0.000000>
  309.       }
  310.       texture {
  311.          YourTexture
  312.       }
  313.    }
  314.    object {
  315.       quadric {
  316.          Dot
  317.          scale     < 7.400000  7.400000  7.400000>
  318.          translate < 12.287000  3.108170  0.000000>
  319.       }
  320.       texture {
  321.          YourTexture
  322.       }
  323.    }
  324.    bounded_by {
  325.       quadric {
  326.          Dot
  327.          scale < 24.277496  24.277496  24.277496>
  328.          translate < 2.982965  3.266700  0.000000>
  329.       }
  330.    }
  331.  
  332. }
  333. #declare YourThing4 =
  334. composite {
  335.    object {
  336.       quadric {
  337.          Dot
  338.          scale     < 7.120000  7.120000  7.120000>
  339.          translate < 13.835220  2.738250  0.000000>
  340.       }
  341.       texture {
  342.          YourTexture
  343.       }
  344.    }
  345.    object {
  346.       quadric {
  347.          Dot
  348.          scale     < 6.840000  6.840000  6.840000>
  349.          translate < 15.367060  2.305460  0.000000>
  350.       }
  351.       texture {
  352.          YourTexture
  353.       }
  354.    }
  355.    object {
  356.       quadric {
  357.          Dot
  358.          scale     < 6.560000  6.560000  6.560000>
  359.          translate < 16.879960  1.810510  0.000000>
  360.       }
  361.       texture {
  362.          YourTexture
  363.       }
  364.    }
  365.    object {
  366.       quadric {
  367.          Dot
  368.          scale     < 6.280000  6.280000  6.280000>
  369.          translate < 18.371410  1.254240  0.000000>
  370.       }
  371.       texture {
  372.          YourTexture
  373.       }
  374.    }
  375.    object {
  376.       quadric {
  377.          Dot
  378.          scale     < 6.000000  6.000000  6.000000>
  379.          translate < 19.838910  0.637570  0.000000>
  380.       }
  381.       texture {
  382.          YourTexture
  383.       }
  384.    }
  385.    object {
  386.       quadric {
  387.          Dot
  388.          scale     < 5.750000  5.750000  5.750000>
  389.          translate < 21.200120  0.000900  0.000000>
  390.       }
  391.       texture {
  392.          YourTexture
  393.       }
  394.    }
  395.    object {
  396.       quadric {
  397.          Dot
  398.          scale     < 5.500000  5.500000  5.500000>
  399.          translate < 22.535790 -0.687730  0.000000>
  400.       }
  401.       texture {
  402.          YourTexture
  403.       }
  404.    }
  405.    object {
  406.       quadric {
  407.          Dot
  408.          scale     < 5.250000  5.250000  5.250000>
  409.          translate < 23.843940 -1.427310  0.000000>
  410.       }
  411.       texture {
  412.          YourTexture
  413.       }
  414.    }
  415.    object {
  416.       quadric {
  417.          Dot
  418.          scale     < 5.000000  5.000000  5.000000>
  419.          translate < 25.122620 -2.216740  0.000000>
  420.       }
  421.       texture {
  422.          YourTexture
  423.       }
  424.    }
  425.    object {
  426.       quadric {
  427.          Dot
  428.          scale     < 4.750000  4.750000  4.750000>
  429.          translate < 26.369940 -3.054850  0.000000>
  430.       }
  431.       texture {
  432.          YourTexture
  433.       }
  434.    }
  435.    object {
  436.       quadric {
  437.          Dot
  438.          scale     < 4.500000  4.500000  4.500000>
  439.          translate < 27.584050 -3.940380  0.000000>
  440.       }
  441.       texture {
  442.          YourTexture
  443.       }
  444.    }
  445.    bounded_by {
  446.       quadric {
  447.          Dot
  448.          scale < 21.771969  21.771969  21.771969>
  449.          translate < 16.042025  0.708935  0.000000>
  450.       }
  451.    }
  452. }
  453.  
  454. #declare YourThing5 =
  455. composite {
  456.    object {
  457.       quadric {
  458.          Dot
  459.          scale     < 4.250000  4.250000  4.250000>
  460.          translate < 28.763140 -4.872040  0.000000>
  461.       }
  462.       texture {
  463.          YourTexture
  464.       }
  465.    }
  466.    object {
  467.       quadric {
  468.          Dot
  469.          scale     < 4.000000  4.000000  4.000000>
  470.          translate < 29.905460 -5.848430  0.000000>
  471.       }
  472.       texture {
  473.          YourTexture
  474.       }
  475.    }
  476.    object {
  477.       quadric {
  478.          Dot
  479.          scale     < 3.750000  3.750000  3.750000>
  480.          translate < 31.009320 -6.868100  0.000000>
  481.       }
  482.       texture {
  483.          YourTexture
  484.       }
  485.    }
  486.    object {
  487.       quadric {
  488.          Dot
  489.          scale     < 3.500000  3.500000  3.500000>
  490.          translate < 32.073070 -7.929540  0.000000>
  491.       }
  492.       texture {
  493.          YourTexture
  494.       }
  495.    }
  496.    object {
  497.       quadric {
  498.          Dot
  499.          scale     < 3.775000  3.775000  3.775000>
  500.          translate < 30.657990 -7.043180  0.000000>
  501.       }
  502.       texture {
  503.          YourTexture
  504.       }
  505.    }
  506.    object {
  507.       quadric {
  508.          Dot
  509.          scale     < 4.050000  4.050000  4.050000>
  510.          translate < 29.205690 -6.219210  0.000000>
  511.       }
  512.       texture {
  513.          YourTexture
  514.       }
  515.    }
  516.    object {
  517.       quadric {
  518.          Dot
  519.          scale     < 4.325000  4.325000  4.325000>
  520.          translate < 27.718920 -5.459210  0.000000>
  521.       }
  522.       texture {
  523.          YourTexture
  524.       }
  525.    }
  526.    object {
  527.       quadric {
  528.          Dot
  529.          scale     < 4.600000  4.600000  4.600000>
  530.          translate < 26.200500 -4.764600  0.000000>
  531.       }
  532.       texture {
  533.          YourTexture
  534.       }
  535.    }
  536.    object {
  537.       quadric {
  538.          Dot
  539.          scale     < 4.875000  4.875000  4.875000>
  540.          translate < 24.653290 -4.136700  0.000000>
  541.       }
  542.       texture {
  543.          YourTexture
  544.       }
  545.    }
  546.    object {
  547.       quadric {
  548.          Dot
  549.          scale     < 5.150000  5.150000  5.150000>
  550.          translate < 23.080240 -3.576700  0.000000>
  551.       }
  552.       texture {
  553.          YourTexture
  554.       }
  555.    }
  556.    bounded_by {
  557.       quadric {
  558.          Dot
  559.          scale < 21.587813  21.587813  21.587813>
  560.          translate < 17.786535 -4.928120  0.000000>
  561.       }
  562.    }
  563. }
  564.  
  565. #declare YourThing6 =
  566. composite {
  567.    object {
  568.       quadric {
  569.          Dot
  570.          scale     < 5.425000  5.425000  5.425000>
  571.          translate < 21.484310 -3.085670  0.000000>
  572.       }
  573.       texture {
  574.          YourTexture
  575.       }
  576.    }
  577.    object {
  578.       quadric {
  579.          Dot
  580.          scale     < 5.700000  5.700000  5.700000>
  581.          translate < 19.868540 -2.664520  0.000000>
  582.       }
  583.       texture {
  584.          YourTexture
  585.       }
  586.    }
  587.    object {
  588.       quadric {
  589.          Dot
  590.          scale     < 5.975000  5.975000  5.975000>
  591.          translate < 18.235970 -2.314070  0.000000>
  592.       }
  593.       texture {
  594.          YourTexture
  595.       }
  596.    }
  597.    object {
  598.       quadric {
  599.          Dot
  600.          scale     < 6.250000  6.250000  6.250000>
  601.          translate < 16.589700 -2.034960  0.000000>
  602.       }
  603.       texture {
  604.          YourTexture
  605.       }
  606.    }
  607.    object {
  608.       quadric {
  609.          Dot
  610.          scale     < 6.525000  6.525000  6.525000>
  611.          translate < 14.932850 -1.827740  0.000000>
  612.       }
  613.       texture {
  614.          YourTexture
  615.       }
  616.    }
  617.    object {
  618.       quadric {
  619.          Dot
  620.          scale     < 6.800000  6.800000  6.800000>
  621.          translate < 13.268560 -1.692790  0.000000>
  622.       }
  623.       texture {
  624.          YourTexture
  625.       }
  626.    }
  627.    object {
  628.       quadric {
  629.          Dot
  630.          scale     < 7.075000  7.075000  7.075000>
  631.          translate < 11.599970 -1.630370  0.000000>
  632.       }
  633.       texture {
  634.          YourTexture
  635.       }
  636.    }
  637.    object {
  638.       quadric {
  639.          Dot
  640.          scale     < 7.350000  7.350000  7.350000>
  641.          translate < 9.930240 -1.640590  0.000000>
  642.       }
  643.       texture {
  644.          YourTexture
  645.       }
  646.    }
  647.    object {
  648.       quadric {
  649.          Dot
  650.          scale     < 7.625000  7.625000  7.625000>
  651.          translate < 8.262540 -1.723440  0.000000>
  652.       }
  653.       texture {
  654.          YourTexture
  655.       }
  656.    }
  657.    object {
  658.       quadric {
  659.          Dot
  660.          scale     < 7.900000  7.900000  7.900000>
  661.          translate < 6.600020 -1.878760  0.000000>
  662.       }
  663.       texture {
  664.          YourTexture
  665.       }
  666.    }
  667.    object {
  668.       quadric {
  669.          Dot
  670.          scale     < 8.175000  8.175000  8.175000>
  671.          translate < 4.945830 -2.106260  0.000000>
  672.       }
  673.       texture {
  674.          YourTexture
  675.       }
  676.    }
  677.    bounded_by {
  678.       quadric {
  679.          Dot
  680.          scale < 20.892566  20.892566  20.892566>
  681.          translate < 11.840070 -2.106260  0.000000>
  682.       }
  683.    }
  684. }
  685.  
  686. #declare YourThing7 =
  687. composite {
  688.    object {
  689.       quadric {
  690.          Dot
  691.          scale     < 8.450000  8.450000  8.450000>
  692.          translate < 3.303100 -2.405500  0.000000>
  693.       }
  694.       texture {
  695.          YourTexture
  696.       }
  697.    }
  698.    object {
  699.       quadric {
  700.          Dot
  701.          scale     < 8.725000  8.725000  8.725000>
  702.          translate < 1.674950 -2.775920  0.000000>
  703.       }
  704.       texture {
  705.          YourTexture
  706.       }
  707.    }
  708.    object {
  709.       quadric {
  710.          Dot
  711.          scale     < 9.000000  9.000000  9.000000>
  712.          translate < 0.064450 -3.216820  0.000000>
  713.       }
  714.       texture {
  715.          YourTexture
  716.       }
  717.    }
  718.    object {
  719.       quadric {
  720.          Dot
  721.          scale     < 9.571430  9.571430  9.571430>
  722.          translate <-2.337010 -4.575770  0.000000>
  723.       }
  724.       texture {
  725.          YourTexture
  726.       }
  727.    }
  728.    object {
  729.       quadric {
  730.          Dot
  731.          scale     < 10.142860  10.142860  10.142860>
  732.          translate <-4.935990 -5.502660  0.000000>
  733.       }
  734.       texture {
  735.          YourTexture
  736.       }
  737.    }
  738.    object {
  739.       quadric {
  740.          Dot
  741.          scale     < 10.714280  10.714280  10.714280>
  742.          translate <-7.655430 -5.969990  0.000000>
  743.       }
  744.       texture {
  745.          YourTexture
  746.       }
  747.    }
  748.    object {
  749.       quadric {
  750.          Dot
  751.          scale     < 11.285710  11.285710  11.285710>
  752.          translate <-10.414730 -5.963930  0.000000>
  753.       }
  754.       texture {
  755.          YourTexture
  756.       }
  757.    }
  758.    object {
  759.       quadric {
  760.          Dot
  761.          scale     < 11.857140  11.857140  11.857140>
  762.          translate <-13.132100 -5.484650  0.000000>
  763.       }
  764.       texture {
  765.          YourTexture
  766.       }
  767.    }
  768.    object {
  769.       quadric {
  770.          Dot
  771.          scale     < 12.428570  12.428570  12.428570>
  772.          translate <-15.726970 -4.546350  0.000000>
  773.       }
  774.       texture {
  775.          YourTexture
  776.       }
  777.    }
  778.    object {
  779.       quadric {
  780.          Dot
  781.          scale     < 13.000000  13.000000  13.000000>
  782.          translate <-18.122440 -3.176860  0.000000>
  783.       }
  784.       texture {
  785.          YourTexture
  786.       }
  787.    }
  788.    bounded_by {
  789.       quadric {
  790.          Dot
  791.          scale < 31.365653  31.365653  31.365653>
  792.          translate <-9.684670 -3.759325  0.000000>
  793.       }
  794.    }
  795. }
  796.  
  797. /*----------- COMBINES BODY SECTION IN ONE COMPOSITE ----*/
  798. #declare fish_body = 
  799. composite {
  800.    composite { YourThing1  }
  801.    composite { YourThing3  }
  802.    composite { YourThing4  }
  803.    composite { YourThing5  }
  804.    composite { YourThing6  }
  805.    composite { YourThing7  }
  806.    bounded_by {
  807.       quadric {
  808.          Dot
  809.          scale < 49.061227  49.061227  49.061227>
  810.          translate <-4.213470 -1.937545  0.000000>
  811.       }
  812.    }
  813. }
  814.  
  815. /*----------- ENDS BODY ------------------------------*/
  816.  
  817. // ----------- 2 lower dangling fins
  818.  
  819.  
  820. #declare spike1 =
  821. composite {
  822.    object {
  823.       quadric {
  824.          Dot
  825.          scale     < 0.100000  0.100000  0.100000>
  826.          translate <-5.000000 -7.000010  5.000000>
  827.       }
  828.       texture {
  829.          YourTexture
  830.       }
  831.    }
  832.  
  833.    object {
  834.       quadric {
  835.          Connector_2 
  836.       }
  837.       clipped_by {
  838.          plane {     < 1.000000  0.000000  0.000000>  0.279490  }
  839.          plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
  840.       }
  841.       translate <-0.099818  0.000000  0.000000>
  842.       scale     < 16.543659  1.000000  1.000000>
  843.       translate < 0.006034  0.000000  0.000000>
  844.       rotate    < 0.000000  0.000000  69.224366>
  845.       rotate    < 0.000000  109.091249  0.000000>
  846.       translate <-5.000000 -7.000010  5.000000>
  847.       texture {
  848.          YourTexture
  849.       }
  850.  
  851.    }
  852.    object {
  853.       quadric {
  854.          Dot
  855.          scale     < 0.280000  0.280000  0.280000>
  856.          translate <-5.346110 -4.210700  4.000000>
  857.       }
  858.       texture {
  859.          YourTexture
  860.       }
  861.    }
  862.  
  863.    object {
  864.       quadric {
  865.          Connector_2 
  866.       }
  867.       clipped_by {
  868.          plane {     < 1.000000  0.000000  0.000000>  0.459162  }
  869.          plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
  870.       }
  871.       translate <-0.279490  0.000000  0.000000>
  872.       scale     < 16.543617  1.000000  1.000000>
  873.       translate < 0.016894  0.000000  0.000000>
  874.       rotate    < 0.000000  0.000000  70.110802>
  875.       rotate    < 0.000000  99.836716  0.000000>
  876.       translate <-5.346110 -4.210700  4.000000>
  877.       texture {
  878.          YourTexture
  879.       }
  880.  
  881.    }
  882.    object {
  883.       quadric {
  884.          Dot
  885.          scale     < 0.460000  0.460000  0.460000>
  886.          translate <-5.519500 -1.405360  3.000000>
  887.       }
  888.       texture {
  889.          YourTexture
  890.       }
  891.    }
  892.  
  893.    object {
  894.       quadric {
  895.          Connector_2 
  896.       }
  897.       clipped_by {
  898.          plane {     < 1.000000  0.000000  0.000000>  0.638834  }
  899.          plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
  900.       }
  901.       translate <-0.459162  0.000000  0.000000>
  902.       scale     < 16.543652  1.000000  1.000000>
  903.       translate < 0.027755  0.000000  0.000000>
  904.       rotate    < 0.000000  0.000000  70.415293>
  905.       rotate    < 0.000000  90.000000  0.000000>
  906.       translate <-5.519500 -1.405360  3.000000>
  907.       texture {
  908.          YourTexture
  909.       }
  910.    }
  911.  
  912.    object {
  913.       quadric {
  914.          Dot
  915.          scale     < 0.640000  0.640000  0.640000>
  916.          translate <-5.519500  1.405340  2.000000>
  917.       }
  918.       texture {
  919.          YourTexture
  920.       }
  921.    }
  922.  
  923.    object {
  924.       quadric {
  925.          Connector_2 
  926.       }
  927.       clipped_by {
  928.          plane {     < 1.000000  0.000000  0.000000>  0.818506  }
  929.          plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
  930.       }
  931.       translate <-0.638834  0.000000  0.000000>
  932.       scale     < 16.543666  1.000000  1.000000>
  933.       translate < 0.038615  0.000000  0.000000>
  934.       rotate    < 0.000000  0.000000  70.110898>
  935.       rotate    < 0.000000  80.163840  0.000000>
  936.       translate <-5.519500  1.405340  2.000000>
  937.       texture {
  938.          YourTexture
  939.       }
  940.  
  941.    }
  942.    object {
  943.       quadric {
  944.          Dot
  945.          scale     < 0.820000  0.820000  0.820000>
  946.          translate <-5.346120  4.210690  1.000000>
  947.       }
  948.       texture {
  949.          YourTexture
  950.       }
  951.    }
  952.  
  953.    object {
  954.       quadric {
  955.          Connector_2 
  956.       }
  957.       clipped_by {
  958.          plane {     < 1.000000  0.000000  0.000000>  0.998178  }
  959.          plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
  960.       }
  961.       translate <-0.818506  0.000000  0.000000>
  962.       scale     < 16.543614  1.000000  1.000000>
  963.       translate < 0.049476  0.000000  0.000000>
  964.       rotate    < 0.000000  0.000000  69.224239>
  965.       rotate    < 0.000000  70.908240  0.000000>
  966.       translate <-5.346120  4.210690  1.000000>
  967.       texture {
  968.          YourTexture
  969.       }
  970.    }
  971.  
  972.    object {
  973.       quadric {
  974.          Dot
  975.          translate <-5.000000  6.999990  0.000000>
  976.       }
  977.       texture {
  978.          YourTexture
  979.       }
  980.    }
  981.  
  982.    bounded_by {
  983.       quadric {
  984.          Dot
  985.          scale < 9.035951  9.035951  9.035951>
  986.          translate <-5.083060  0.449990  2.050000>
  987.       }
  988.    }
  989. }
  990.  
  991. #declare spike2 =
  992. composite {
  993.    object {
  994.       Connector_1
  995.       scale     < 10.000000  1.000000  1.000000>
  996.       rotate    < 0.000000  0.000000  0.000057>
  997.       translate <-5.000000  6.999990  0.000000>
  998.       texture {
  999.          YourTexture
  1000.       }
  1001.    }
  1002.  
  1003.    object {
  1004.       quadric {
  1005.          Dot
  1006.          translate < 5.000000  7.000000  0.000000>
  1007.       }
  1008.       texture {
  1009.          YourTexture
  1010.       }
  1011.    }
  1012.  
  1013.    object {
  1014.       quadric {
  1015.          Connector_2
  1016.       }
  1017.       clipped_by {
  1018.          plane {     < 1.000000  0.000000  0.000000>  0.998178  }
  1019.          plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
  1020.       }
  1021.       translate <-0.998178  0.000000  0.000000>
  1022.       scale     < 16.543666  1.000000  1.000000>
  1023.       translate <-0.060336  0.000000  0.000000>
  1024.       rotate    < 0.000000  180.000000  0.000000>
  1025.       rotate    < 0.000000  0.000000 -69.224308>
  1026.       rotate    < 0.000000 -70.908240  0.000000>
  1027.       translate < 5.000000  7.000000  0.000000>
  1028.       texture {
  1029.          YourTexture
  1030.       }
  1031.    }
  1032.  
  1033.    object {
  1034.       quadric {
  1035.          Dot
  1036.          scale     < 0.820000  0.820000  0.820000>
  1037.          translate < 5.346120  4.210690  1.000000>
  1038.       }
  1039.       texture {
  1040.          YourTexture
  1041.       }
  1042.    }
  1043.  
  1044.    object {
  1045.       quadric {
  1046.          Connector_2
  1047.       }
  1048.       clipped_by {
  1049.          plane {     < 1.000000  0.000000  0.000000>  0.818506  }
  1050.          plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
  1051.       }
  1052.       translate <-0.818506  0.000000  0.000000>
  1053.       scale     < 16.543666  1.000000  1.000000>
  1054.       translate <-0.049475  0.000000  0.000000>
  1055.       rotate    < 0.000000  180.000000  0.000000>
  1056.       rotate    < 0.000000  0.000000 -70.110898>
  1057.       rotate    < 0.000000 -80.163840  0.000000>
  1058.       translate < 5.346120  4.210690  1.000000>
  1059.       texture {
  1060.          YourTexture
  1061.       }
  1062.    }
  1063.  
  1064.    object {
  1065.       quadric {
  1066.          Dot
  1067.          scale     < 0.640000  0.640000  0.640000>
  1068.          translate < 5.519500  1.405340  2.000000>
  1069.       }
  1070.       texture {
  1071.          YourTexture
  1072.       }
  1073.    }
  1074.  
  1075.    object {
  1076.       quadric {
  1077.          Connector_2
  1078.       }
  1079.       clipped_by {
  1080.          plane {     < 1.000000  0.000000  0.000000>  0.638834  }
  1081.          plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
  1082.       }
  1083.       translate <-0.638834  0.000000  0.000000>
  1084.       scale     < 16.543652  1.000000  1.000000>
  1085.       translate <-0.038615  0.000000  0.000000>
  1086.       rotate    < 0.000000  180.000000  0.000000>
  1087.       rotate    < 0.000000  0.000000 -70.415293>
  1088.       rotate    < 0.000000 -90.000000  0.000000>
  1089.       translate < 5.519500  1.405340  2.000000>
  1090.       texture {
  1091.          YourTexture
  1092.       }
  1093.    }
  1094.  
  1095.    object {
  1096.       quadric {
  1097.          Dot
  1098.          scale     < 0.460000  0.460000  0.460000>
  1099.          translate < 5.519500 -1.405360  3.000000>
  1100.       }
  1101.       texture {
  1102.          YourTexture
  1103.       }
  1104.    }
  1105.  
  1106.    object {
  1107.       quadric {
  1108.          Connector_2
  1109.       }
  1110.       clipped_by {
  1111.          plane {     < 1.000000  0.000000  0.000000>  0.459162  }
  1112.          plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
  1113.       }
  1114.       translate <-0.459162  0.000000  0.000000>
  1115.       scale     < 16.543617  1.000000  1.000000>
  1116.       translate <-0.027755  0.000000  0.000000>
  1117.       rotate    < 0.000000  180.000000  0.000000>
  1118.       rotate    < 0.000000  0.000000 -70.110802>
  1119.       rotate    < 0.000000 -99.836716  0.000000>
  1120.       translate < 5.519500 -1.405360  3.000000>
  1121.       texture {
  1122.          YourTexture
  1123.       }
  1124.    }
  1125.  
  1126.    object {
  1127.       quadric {
  1128.          Dot
  1129.          scale     < 0.280000  0.280000  0.280000>
  1130.          translate < 5.346110 -4.210700  4.000000>
  1131.       }
  1132.       texture {
  1133.          YourTexture
  1134.       }
  1135.    }
  1136.  
  1137.    object {
  1138.       quadric {
  1139.          Connector_2
  1140.       }
  1141.       clipped_by {
  1142.          plane {     < 1.000000  0.000000  0.000000>  0.279490  }
  1143.          plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
  1144.       }
  1145.       translate <-0.279490  0.000000  0.000000>
  1146.       scale     < 16.543659  1.000000  1.000000>
  1147.       translate <-0.016894  0.000000  0.000000>
  1148.       rotate    < 0.000000  180.000000  0.000000>
  1149.       rotate    < 0.000000  0.000000 -69.224366>
  1150.       rotate    < 0.000000 -109.091249  0.000000>
  1151.       translate < 5.346110 -4.210700  4.000000>
  1152.       texture {
  1153.          YourTexture
  1154.       }
  1155.    }
  1156.  
  1157.    object {
  1158.       quadric {
  1159.          Dot
  1160.          scale     < 0.100000  0.100000  0.100000>
  1161.          translate < 5.000000 -7.000010  5.000000>
  1162.       }
  1163.       texture {
  1164.          YourTexture
  1165.       }
  1166.    }
  1167.  
  1168.    bounded_by {
  1169.       quadric {
  1170.          Dot
  1171.          scale < 9.577604  9.577604  9.577604>
  1172.          translate < 3.083060  0.449995  2.050000>
  1173.       }
  1174.    }
  1175. }
  1176.  
  1177. /*-------------- COMBINE SPIKE -----------------------*/
  1178. #declare l_fin = 
  1179. composite {
  1180.    composite { spike1  }
  1181.    composite { spike2  }
  1182.    bounded_by {
  1183.       quadric {
  1184.          Dot
  1185.          scale < 11.235417  11.235417  11.235417>
  1186.          translate < 0.000000  0.449995  2.050000>
  1187.       }
  1188.    }
  1189. }
  1190.  
  1191.  
  1192.  
  1193. //**************************************************************
  1194. //----------------- Bass Fins...Spiked fingers, bloody fingers
  1195.  
  1196.  
  1197.  
  1198. /*-------------- MAKE POINTS --------------------------------*/
  1199. #declare bf1 =
  1200. object {
  1201.    quadric {
  1202.       Connector_2
  1203.    }
  1204.    clipped_by {
  1205.       plane {     < 1.000000  0.000000  0.000000>  0.995942  }
  1206.       plane {     < 1.000000  0.000000  0.000000>  0.099594 inverse  }
  1207.    }
  1208.    translate <-0.995942  0.000000  0.000000>
  1209.    scale     < 11.066020  1.000000  1.000000>
  1210.    translate <-0.090000  0.000000  0.000000>
  1211.    rotate    < 0.000000  180.000000  0.000000>
  1212.    rotate    < 0.000000  0.000000  90.000000>
  1213.    texture {
  1214.       YourTexture
  1215.    }
  1216.  
  1217.    bounded_by {
  1218.       quadric {
  1219.          Dot
  1220.          scale < 6.300081  6.300081  6.300081>
  1221.          translate < 0.000000  4.550000  0.000000>
  1222.       }
  1223.    }
  1224. }
  1225.  
  1226. #declare bf2 =
  1227. object {
  1228.    quadric {
  1229.       Connector_2
  1230.    }
  1231.    clipped_by {
  1232.       plane {     < 1.000000  0.000000  0.000000>  0.997018  }
  1233.       plane {     < 1.000000  0.000000  0.000000>  0.099702 inverse  }
  1234.    }
  1235.    translate <-0.997018  0.000000  0.000000>
  1236.    scale     < 12.919026  1.000000  1.000000>
  1237.    translate <-0.077174  0.000000  0.000000>
  1238.    rotate    < 0.000000  180.000000  0.000000>
  1239.    rotate    < 0.000000  0.000000  59.036243>
  1240.    translate < 3.000000  1.000000  0.000000>
  1241.    texture {
  1242.       YourTexture
  1243.    }
  1244.  
  1245.    bounded_by {
  1246.       quadric {
  1247.          Dot
  1248.          scale < 7.970637  7.970637  7.970637>
  1249.          translate < 4.550000  5.550000  0.000000>
  1250.       }
  1251.    }
  1252. }
  1253.  
  1254. #declare bf3 =
  1255. object {
  1256.    quadric {
  1257.       Connector_2
  1258.    }
  1259.    clipped_by {
  1260.       plane {     < 1.000000  0.000000  0.000000>  0.995439  }
  1261.       plane {     < 1.000000  0.000000  0.000000>  0.099544 inverse  }
  1262.    }
  1263.    translate <-0.995439  0.000000  0.000000>
  1264.    scale     < 10.434392  1.000000  1.000000>
  1265.    translate <-0.095400  0.000000  0.000000>
  1266.    rotate    < 0.000000  180.000000  0.000000>
  1267.    rotate    < 0.000000  0.000000  57.994617>
  1268.    translate < 9.000000  2.000000  0.000000>
  1269.    texture {
  1270.       YourTexture
  1271.    }
  1272.  
  1273.    bounded_by {
  1274.       quadric {
  1275.          Dot
  1276.          scale < 9.602502  9.602502  9.602502>
  1277.          translate < 7.050000  5.050000  0.000000>
  1278.       }
  1279.    }
  1280. }
  1281.  
  1282. #declare bf4 =
  1283. object {
  1284.    quadric {
  1285.       Connector_2
  1286.    }
  1287.    clipped_by {
  1288.       plane {     < 1.000000  0.000000  0.000000>  0.993750  }
  1289.       plane {     < 1.000000  0.000000  0.000000>  0.099375 inverse  }
  1290.    }
  1291.    translate <-0.993750  0.000000  0.000000>
  1292.    scale     < 8.902074  1.000000  1.000000>
  1293.    translate <-0.111631  0.000000  0.000000>
  1294.    rotate    < 0.000000  180.000000  0.000000>
  1295.    rotate    < 0.000000  0.000000  60.255119>
  1296.    translate < 13.000000  2.000000  0.000000>
  1297.    texture {
  1298.       YourTexture
  1299.    }
  1300.  
  1301.    bounded_by {
  1302.       quadric {
  1303.          Dot
  1304.          scale < 10.710465  10.710465  10.710465>
  1305.          translate < 8.550000  4.550000  0.000000>
  1306.       }
  1307.    }
  1308. }
  1309.  
  1310. #declare bf5 =
  1311. object {
  1312.    quadric {
  1313.       Connector_2
  1314.    }
  1315.    clipped_by {
  1316.       plane {     < 1.000000  0.000000  0.000000>  0.993338  }
  1317.       plane {     < 1.000000  0.000000  0.000000>  0.099334 inverse  }
  1318.    }
  1319.    translate <-0.993338  0.000000  0.000000>
  1320.    scale     < 8.620246  1.000000  1.000000>
  1321.    translate <-0.115233  0.000000  0.000000>
  1322.    rotate    < 0.000000  180.000000  0.000000>
  1323.    rotate    < 0.000000  0.000000  50.194429>
  1324.    translate < 17.000000  2.000000  0.000000>
  1325.    texture {
  1326.       YourTexture
  1327.    }
  1328.  
  1329.    bounded_by {
  1330.       quadric {
  1331.          Dot
  1332.          scale < 12.992346  12.992346  12.992346>
  1333.          translate < 11.050000  4.050000  0.000000>
  1334.       }
  1335.    }
  1336. }
  1337.  
  1338. #declare bf6 =
  1339. object {
  1340.    quadric {
  1341.       Connector_2
  1342.    }
  1343.    clipped_by {
  1344.       plane {     < 1.000000  0.000000  0.000000>  0.994512  }
  1345.       plane {     < 1.000000  0.000000  0.000000>  0.099451 inverse  }
  1346.    }
  1347.    translate <-0.994512  0.000000  0.000000>
  1348.    scale     < 9.505684  1.000000  1.000000>
  1349.    translate <-0.104623  0.000000  0.000000>
  1350.    rotate    < 0.000000  180.000000  0.000000>
  1351.    rotate    < 0.000000  0.000000  35.537678>
  1352.    translate < 20.000000  2.000000  0.000000>
  1353.    texture {
  1354.       YourTexture
  1355.    }
  1356.  
  1357.    bounded_by {
  1358.       quadric {
  1359.          Dot
  1360.          scale < 15.447267  15.447267  15.447267>
  1361.          translate < 13.550000  3.550000  0.000000>
  1362.       }
  1363.    }
  1364. }
  1365.  
  1366. #declare bf7 =
  1367. object {
  1368.    quadric {
  1369.       Connector_2
  1370.    }
  1371.    clipped_by {
  1372.       plane {     < 1.000000  0.000000  0.000000>  0.992993  }
  1373.       plane {     < 1.000000  0.000000  0.000000>  0.099299 inverse  }
  1374.    }
  1375.    translate <-0.992993  0.000000  0.000000>
  1376.    scale     < 8.402674  1.000000  1.000000>
  1377.    translate <-0.118176  0.000000  0.000000>
  1378.    rotate    < 0.000000  180.000000  0.000000>
  1379.    rotate    < 0.000000  0.000000  23.198591>
  1380.    translate < 23.000000  1.000000  0.000000>
  1381.    texture {
  1382.       YourTexture
  1383.    }
  1384.  
  1385.    bounded_by {
  1386.       quadric {
  1387.          Dot
  1388.          scale < 16.744045  16.744045  16.744045>
  1389.          translate < 15.050000  2.050000  0.000000>
  1390.       }
  1391.    }
  1392. }
  1393.  
  1394. /*-------------------- COMBINE ALL SPIKES ---------------*/
  1395. #declare pnts = 
  1396. composite {
  1397.    object { bf1  }
  1398.    object { bf2  }
  1399.    object { bf3  }      
  1400.    object { bf4  }
  1401.    object { bf5  }
  1402.    object { bf6  }
  1403.    object { bf7  }
  1404.  
  1405.    bounded_by {
  1406.       quadric {
  1407.          Dot
  1408.          scale < 18.386953  18.386953  18.386953>
  1409.          translate < 14.550000  5.050000  0.000000>
  1410.       }
  1411.    }
  1412. }
  1413.  
  1414.  
  1415.  
  1416. /*------------ THIN SKIN BETWEEN THE SPIKES------------------------------------*/
  1417. #declare fin_skin = 
  1418. object {
  1419.    difference {
  1420.       intersection { Cube scale <15 5 0.1> translate <15 5 0>  }
  1421.       quadric { Cylinder_Z scale <4 6 1> rotate <0 0 -32> translate <5 12 0>  }
  1422.       quadric { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -32> translate <11.5 11 0>  }
  1423.       quadric { Cylinder_Z scale <1.6 2.5 1> rotate <0 0 -31> translate <15.5 10 0>  }
  1424.       quadric { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -38> translate <20 9.5 0>  }
  1425.       quadric { Cylinder_Z scale <3 4.1 1> rotate <0 0 -40> translate <26 10 0>  }
  1426.       quadric { Cylinder_Z scale <3 4.5 1> rotate <0 0 -51> translate <30.5 7.5 0>  }
  1427.       quadric { Cylinder_Z scale <3 4 1> rotate <0 0 -39> translate <32 2 0>  }
  1428.    }
  1429.    texture { YourTexture  }
  1430.    bounded_by { 
  1431.       intersection { Cube scale <15 5 0.1> translate <15 5 0>  }
  1432.    }
  1433. }
  1434.  
  1435. #declare fin = composite {
  1436.    composite { pnts  }
  1437.    object { fin_skin  }
  1438.    bounded_by { 
  1439.       intersection { Cube scale <17 5 0.1> translate <15 5 0>  }
  1440.    }
  1441. }
  1442.  
  1443.  
  1444. #declare tail = object {
  1445.    difference {
  1446.       union {
  1447.          quadric { Ellipsoid scale <10 5 0.5> rotate <0 0 -14> translate <9 -4 0>  }
  1448.          quadric { Ellipsoid scale <10 5 0.5> rotate <0 0 -52> translate <7 -8 0>  }
  1449.       }
  1450.       plane { <0 1 0> 0 rotate <0 0 53> translate <14 -9 0>  }
  1451.    }
  1452.  
  1453.    bounded_by {
  1454.       cylinder { <0, 0, 0>, z, 1 scale <11 11 3> translate <9 -6 -1.5>  }
  1455.    }
  1456. }
  1457.  
  1458.  
  1459. //------------ upper lip
  1460.  
  1461. #declare u_lip = object {
  1462.    difference {
  1463.       quadric { Ellipsoid scale <11 11 11>  }
  1464.       quadric { Ellipsoid scale <10 18 20> rotate <0 0 30> translate <-9 -6 0>  }
  1465.       plane { <0 1 0> 0 rotate <0 0 -48> translate <1.6 0 0> inverse  }
  1466.    }
  1467.    //texture { YourTexture  }
  1468.    bounded_by {
  1469.       quadric { Ellipsoid scale <12 12 12>  }
  1470.    }
  1471. }
  1472.  
  1473.  
  1474.  
  1475. /*--------------- GLASS FISH EYE --------------*/
  1476. #declare eye = composite {
  1477.    //-------------- extra skin around eye
  1478.    object {
  1479.       quadric { Ellipsoid scale <5 5 3>  }
  1480.       texture { YourTexture  }
  1481.    }
  1482.    //-------------- color pupil
  1483.    object {
  1484.       quadric { Ellipsoid scale <4 4 4>  }
  1485.       texture { 
  1486.          image_map { <1 -1 0> gif "fisheye.gif"  }
  1487.          scale <8 8 1> translate <-4 -4 -1>
  1488.          ambient 0.2 phong 1.0  }
  1489.    }
  1490.    //-------------- glass sphere {
  1491.    object {
  1492.       quadric { Ellipsoid scale <5 5 5>  }
  1493.       texture { Glass  }
  1494.    }
  1495. }
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501. /*------ BUILD THE FISH---------------*/
  1502.  
  1503. #declare fish = composite {
  1504.    composite { fish_body scale <1 1 0.6>   }
  1505.    composite { eye translate <-26 -2 -4>  }
  1506.    composite { eye translate <-26 -2 4>  }
  1507.    composite { pnts scale <1.3 1.7 0.4> translate <-17 7 0>  }
  1508.    object { fin_skin scale <1.3 1.7 0.4> translate <-17 7 0> texture { YourTexture  }  }
  1509.    composite { fin scale <0.7 1 0.7> rotate <180 0 0> rotate <0 0 20> translate <-6 -10 0>  }
  1510.    composite { l_fin rotate <0 90 0> scale <1 1 1> translate <-14 -20 0>  }
  1511.    object { tail translate <33 -8 0> texture { YourTexture } }
  1512.    object { u_lip rotate <0 0 5> scale <1 0.96  0.65 > translate <-32 -8.5 0> texture { YourTexture } }
  1513.  
  1514.    bounded_by {
  1515.       cylinder { <0, 0, 0>, z, 1 scale <60 40 20> translate <0 0  -10>  }
  1516.    }
  1517. }
  1518.  
  1519. #version Fish_Inc_Temp
  1520.