home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / POVSCN.ZIP / LEVEL3.ZIP / FISH13.ZIP / FISH.INC < prev    next >
Text File  |  1992-07-03  |  37KB  |  1,516 lines

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