home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Raytrace & Morphing / SOS-RAYTRACE.ISO / programm / scripts / pov / st3 / fish.inc < prev    next >
Encoding:
Text File  |  1993-04-16  |  40.4 KB  |  1,595 lines

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