Metropoli BBS
VIEWER: fish.inc MODE: TEXT (ASCII)
// Persistence Of Vision raytracer version 2.0 sample file.

//----------- one fish include....3/13/92 M.Miller

#declare Fish_Inc_Temp = version
#version 1.0

/*------------ FISH SKIN-----------------------*/
#declare YourTexture = 
texture {
   image_map { <1 -1 0> gif "finskin2.gif"  }
   scale <100 60 1> translate <-50 -30 -1>
   //Brown_Agate
   //scale <50 30 27>
   ambient  0.2 diffuse 0.5 phong 1.0 phong_size 80
}

/*------------- CTDS INFO -----------------------*/
#declare Dot =
quadric {
   < 1.0  1.0  1.0>
   < 0.0  0.0  0.0>
   < 0.0  0.0  0.0>
   -1.0
}

#declare Connector_1 = 
object {
   quadric {
      < 0.0  1.0  1.0>
      < 0.0  0.0  0.0>
      < 0.0  0.0  0.0>
      -1.0
   }
   clipped_by {
      plane { < 1.0  0.0  0.0> 1.0  }
      plane { <-1.0  0.0  0.0> 0.0  }
   }
}

#declare Connector_2 =
quadric {
   < 1.0 -1.0  1.0>
   < 0.0  0.0  0.0>
   < 0.0  0.0  0.0>
   0.0
   rotate < 0.0  0.0  90.0>
}

/*------------ START THE BODY CURVES OF FISH-----------*/
#declare YourThing1 =
composite {
   object {
      union {
         difference {
            union {
               quadric {
                  Dot
                  scale     < 7.000000  7.000000  7.000000>
                  translate <-37.000010 -8.000000  0.000000>
               }

               quadric {
                  Dot
                  scale     < 7.600000  7.600000  7.600000>
                  translate <-35.005830 -8.066590  0.000000>
               }

               quadric {
                  Dot
                  scale     < 8.200000  8.200000  8.200000>
                  translate <-33.011630 -8.000770  0.000000>
               }

               quadric {
                  Dot
                  scale     < 8.800000  8.800000  8.800000>
                  translate <-31.026180 -7.802830  0.000000>
               }

               quadric {
                  Dot
                  scale     < 9.400000  9.400000  9.400000>
                  translate <-29.058240 -7.473640  0.000000>
               }

               quadric {
                  Dot
                  scale     < 10.000000  10.000000  10.000000>
                  translate <-27.116460 -7.014650  0.000000>
               }

               quadric {
                  Dot
                  scale     < 10.600000  10.600000  10.600000>
                  translate <-25.209400 -6.427880  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.200000  11.200000  11.200000>
                  translate <-23.345460 -5.715910  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.800000  11.800000  11.800000>
                  translate <-21.532840 -4.881880  0.000000>
               }


               quadric {
                  Dot
                  scale     < 12.400000  12.400000  12.400000>
                  translate <-19.779530 -3.929470  0.000000>
               }

               quadric {
                  Dot
                  scale     < 13.000000  13.000000  13.000000>
                  translate <-18.093250 -2.862860  0.000000>
               }

               quadric {
                  Dot
                  scale     < 12.720000  12.720000  12.720000>
                  translate <-16.763390 -1.988050  0.000000>
               }

               quadric {
                  Dot
                  scale     < 12.440000  12.440000  12.440000>
                  translate <-15.398940 -1.168230  0.000000>
               }

               quadric {
                  Dot
                  scale     < 12.160000  12.160000  12.160000>
                  translate <-14.002160 -0.404780  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.880000  11.880000  11.880000>
                  translate <-12.575390  0.301040  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.600000  11.600000  11.600000>
                  translate <-11.121010  0.948050  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.320000  11.320000  11.320000>
                  translate <-9.641440  1.535170  0.000000>
               }

               quadric {
                  Dot
                  scale     < 11.040000  11.040000  11.040000>
                  translate <-8.139140  2.061410  0.000000>
               }

               quadric {
                  Dot
                  scale     < 10.760000  10.760000  10.760000>
                  translate <-6.616620  2.525920  0.000000>
               }

               quadric {
                  Dot
                  scale     < 10.480000  10.480000  10.480000>
                  translate <-5.076400  2.927910  0.000000>
               }
            }

            //----------------- chops off front face & hollow mouth
            plane { < 1 0 0 > 0 translate <-30 -10 0> rotate <0 0 45>   }
            quadric { Ellipsoid scale <10 10 10> translate <-27 -7 0>  }
         }

         //---------------- add chin


         union {
            difference {
               quadric { Ellipsoid scale <11 11 11>  }
               plane { <0 1 0> 0 inverse translate <0 -7 0> rotate <0 0 23>  }
               translate <-30 -6 0>
            }
            //----------------- lower lip
            difference {
               cylinder { <0, 0, 0>, y, 1 scale <11 1.5 9> rotate <0 0 23> translate <-29 -14 0>  }
               quadric { Ellipsoid scale <8.5 8.5 8.5> translate <-31 -7 0>  }
            }
         }
      }
      texture { YourTexture  }

      bounded_by {
         quadric {
            Dot
            scale < 26.403494  26.403494  26.403494>
            translate <-26.866425 -5.054880  0.000000>
         }
      }
   }
}

#declare YourThing3 =
composite {
   object {
      quadric {
         Dot
         scale     < 10.200000  10.200000  10.200000>
         translate <-3.521070  3.266700  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.920000  9.920000  9.920000>
         translate <-1.953210  3.541750  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.640000  9.640000  9.640000>
         translate <-0.375430  3.752580  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.360000  9.360000  9.360000>
         translate < 1.209640  3.898860  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.080000  9.080000  9.080000>
         translate < 2.799360  3.980320  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 8.800000  8.800000  8.800000>
         translate < 4.391080  3.996850  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 8.520000  8.520000  8.520000>
         translate < 5.982150  3.948410  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 8.240000  8.240000  8.240000>
         translate < 7.569910  3.835070  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.960000  7.960000  7.960000>
         translate < 9.151730  3.657040  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.680000  7.680000  7.680000>
         translate < 10.724970  3.414610  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.400000  7.400000  7.400000>
         translate < 12.287000  3.108170  0.000000>
      }
      texture {
         YourTexture
      }
   }
   bounded_by {
      quadric {
         Dot
         scale < 24.277496  24.277496  24.277496>
         translate < 2.982965  3.266700  0.000000>
      }
   }

}
#declare YourThing4 =
composite {
   object {
      quadric {
         Dot
         scale     < 7.120000  7.120000  7.120000>
         translate < 13.835220  2.738250  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.840000  6.840000  6.840000>
         translate < 15.367060  2.305460  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.560000  6.560000  6.560000>
         translate < 16.879960  1.810510  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.280000  6.280000  6.280000>
         translate < 18.371410  1.254240  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.000000  6.000000  6.000000>
         translate < 19.838910  0.637570  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.750000  5.750000  5.750000>
         translate < 21.200120  0.000900  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.500000  5.500000  5.500000>
         translate < 22.535790 -0.687730  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.250000  5.250000  5.250000>
         translate < 23.843940 -1.427310  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.000000  5.000000  5.000000>
         translate < 25.122620 -2.216740  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.750000  4.750000  4.750000>
         translate < 26.369940 -3.054850  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.500000  4.500000  4.500000>
         translate < 27.584050 -3.940380  0.000000>
      }
      texture {
         YourTexture
      }
   }
   bounded_by {
      quadric {
         Dot
         scale < 21.771969  21.771969  21.771969>
         translate < 16.042025  0.708935  0.000000>
      }
   }
}

#declare YourThing5 =
composite {
   object {
      quadric {
         Dot
         scale     < 4.250000  4.250000  4.250000>
         translate < 28.763140 -4.872040  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.000000  4.000000  4.000000>
         translate < 29.905460 -5.848430  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 3.750000  3.750000  3.750000>
         translate < 31.009320 -6.868100  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 3.500000  3.500000  3.500000>
         translate < 32.073070 -7.929540  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 3.775000  3.775000  3.775000>
         translate < 30.657990 -7.043180  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.050000  4.050000  4.050000>
         translate < 29.205690 -6.219210  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.325000  4.325000  4.325000>
         translate < 27.718920 -5.459210  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.600000  4.600000  4.600000>
         translate < 26.200500 -4.764600  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 4.875000  4.875000  4.875000>
         translate < 24.653290 -4.136700  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.150000  5.150000  5.150000>
         translate < 23.080240 -3.576700  0.000000>
      }
      texture {
         YourTexture
      }
   }
   bounded_by {
      quadric {
         Dot
         scale < 21.587813  21.587813  21.587813>
         translate < 17.786535 -4.928120  0.000000>
      }
   }
}

#declare YourThing6 =
composite {
   object {
      quadric {
         Dot
         scale     < 5.425000  5.425000  5.425000>
         translate < 21.484310 -3.085670  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.700000  5.700000  5.700000>
         translate < 19.868540 -2.664520  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 5.975000  5.975000  5.975000>
         translate < 18.235970 -2.314070  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.250000  6.250000  6.250000>
         translate < 16.589700 -2.034960  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.525000  6.525000  6.525000>
         translate < 14.932850 -1.827740  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 6.800000  6.800000  6.800000>
         translate < 13.268560 -1.692790  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.075000  7.075000  7.075000>
         translate < 11.599970 -1.630370  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.350000  7.350000  7.350000>
         translate < 9.930240 -1.640590  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.625000  7.625000  7.625000>
         translate < 8.262540 -1.723440  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 7.900000  7.900000  7.900000>
         translate < 6.600020 -1.878760  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 8.175000  8.175000  8.175000>
         translate < 4.945830 -2.106260  0.000000>
      }
      texture {
         YourTexture
      }
   }
   bounded_by {
      quadric {
         Dot
         scale < 20.892566  20.892566  20.892566>
         translate < 11.840070 -2.106260  0.000000>
      }
   }
}

#declare YourThing7 =
composite {
   object {
      quadric {
         Dot
         scale     < 8.450000  8.450000  8.450000>
         translate < 3.303100 -2.405500  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 8.725000  8.725000  8.725000>
         translate < 1.674950 -2.775920  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.000000  9.000000  9.000000>
         translate < 0.064450 -3.216820  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 9.571430  9.571430  9.571430>
         translate <-2.337010 -4.575770  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 10.142860  10.142860  10.142860>
         translate <-4.935990 -5.502660  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 10.714280  10.714280  10.714280>
         translate <-7.655430 -5.969990  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 11.285710  11.285710  11.285710>
         translate <-10.414730 -5.963930  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 11.857140  11.857140  11.857140>
         translate <-13.132100 -5.484650  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 12.428570  12.428570  12.428570>
         translate <-15.726970 -4.546350  0.000000>
      }
      texture {
         YourTexture
      }
   }
   object {
      quadric {
         Dot
         scale     < 13.000000  13.000000  13.000000>
         translate <-18.122440 -3.176860  0.000000>
      }
      texture {
         YourTexture
      }
   }
   bounded_by {
      quadric {
         Dot
         scale < 31.365653  31.365653  31.365653>
         translate <-9.684670 -3.759325  0.000000>
      }
   }
}

/*----------- COMBINES BODY SECTION IN ONE COMPOSITE ----*/
#declare fish_body = 
composite {
   composite { YourThing1  }
   composite { YourThing3  }
   composite { YourThing4  }
   composite { YourThing5  }
   composite { YourThing6  }
   composite { YourThing7  }
   bounded_by {
      quadric {
         Dot
         scale < 49.061227  49.061227  49.061227>
         translate <-4.213470 -1.937545  0.000000>
      }
   }
}

/*----------- ENDS BODY ------------------------------*/

// ----------- 2 lower dangling fins


#declare spike1 =
composite {
   object {
      quadric {
         Dot
         scale     < 0.100000  0.100000  0.100000>
         translate <-5.000000 -7.000010  5.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2 
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.279490  }
         plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
      }
      translate <-0.099818  0.000000  0.000000>
      scale     < 16.543659  1.000000  1.000000>
      translate < 0.006034  0.000000  0.000000>
      rotate    < 0.000000  0.000000  69.224366>
      rotate    < 0.000000  109.091249  0.000000>
      translate <-5.000000 -7.000010  5.000000>
      texture {
         YourTexture
      }

   }
   object {
      quadric {
         Dot
         scale     < 0.280000  0.280000  0.280000>
         translate <-5.346110 -4.210700  4.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2 
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.459162  }
         plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
      }
      translate <-0.279490  0.000000  0.000000>
      scale     < 16.543617  1.000000  1.000000>
      translate < 0.016894  0.000000  0.000000>
      rotate    < 0.000000  0.000000  70.110802>
      rotate    < 0.000000  99.836716  0.000000>
      translate <-5.346110 -4.210700  4.000000>
      texture {
         YourTexture
      }

   }
   object {
      quadric {
         Dot
         scale     < 0.460000  0.460000  0.460000>
         translate <-5.519500 -1.405360  3.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2 
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.638834  }
         plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
      }
      translate <-0.459162  0.000000  0.000000>
      scale     < 16.543652  1.000000  1.000000>
      translate < 0.027755  0.000000  0.000000>
      rotate    < 0.000000  0.000000  70.415293>
      rotate    < 0.000000  90.000000  0.000000>
      translate <-5.519500 -1.405360  3.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.640000  0.640000  0.640000>
         translate <-5.519500  1.405340  2.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2 
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.818506  }
         plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
      }
      translate <-0.638834  0.000000  0.000000>
      scale     < 16.543666  1.000000  1.000000>
      translate < 0.038615  0.000000  0.000000>
      rotate    < 0.000000  0.000000  70.110898>
      rotate    < 0.000000  80.163840  0.000000>
      translate <-5.519500  1.405340  2.000000>
      texture {
         YourTexture
      }

   }
   object {
      quadric {
         Dot
         scale     < 0.820000  0.820000  0.820000>
         translate <-5.346120  4.210690  1.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2 
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.998178  }
         plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
      }
      translate <-0.818506  0.000000  0.000000>
      scale     < 16.543614  1.000000  1.000000>
      translate < 0.049476  0.000000  0.000000>
      rotate    < 0.000000  0.000000  69.224239>
      rotate    < 0.000000  70.908240  0.000000>
      translate <-5.346120  4.210690  1.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         translate <-5.000000  6.999990  0.000000>
      }
      texture {
         YourTexture
      }
   }

   bounded_by {
      quadric {
         Dot
         scale < 9.035951  9.035951  9.035951>
         translate <-5.083060  0.449990  2.050000>
      }
   }
}

#declare spike2 =
composite {
   object {
      Connector_1
      scale     < 10.000000  1.000000  1.000000>
      rotate    < 0.000000  0.000000  0.000057>
      translate <-5.000000  6.999990  0.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         translate < 5.000000  7.000000  0.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.998178  }
         plane {     < 1.000000  0.000000  0.000000>  0.818506 inverse  }
      }
      translate <-0.998178  0.000000  0.000000>
      scale     < 16.543666  1.000000  1.000000>
      translate <-0.060336  0.000000  0.000000>
      rotate    < 0.000000  180.000000  0.000000>
      rotate    < 0.000000  0.000000 -69.224308>
      rotate    < 0.000000 -70.908240  0.000000>
      translate < 5.000000  7.000000  0.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.820000  0.820000  0.820000>
         translate < 5.346120  4.210690  1.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.818506  }
         plane {     < 1.000000  0.000000  0.000000>  0.638834 inverse  }
      }
      translate <-0.818506  0.000000  0.000000>
      scale     < 16.543666  1.000000  1.000000>
      translate <-0.049475  0.000000  0.000000>
      rotate    < 0.000000  180.000000  0.000000>
      rotate    < 0.000000  0.000000 -70.110898>
      rotate    < 0.000000 -80.163840  0.000000>
      translate < 5.346120  4.210690  1.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.640000  0.640000  0.640000>
         translate < 5.519500  1.405340  2.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.638834  }
         plane {     < 1.000000  0.000000  0.000000>  0.459162 inverse  }
      }
      translate <-0.638834  0.000000  0.000000>
      scale     < 16.543652  1.000000  1.000000>
      translate <-0.038615  0.000000  0.000000>
      rotate    < 0.000000  180.000000  0.000000>
      rotate    < 0.000000  0.000000 -70.415293>
      rotate    < 0.000000 -90.000000  0.000000>
      translate < 5.519500  1.405340  2.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.460000  0.460000  0.460000>
         translate < 5.519500 -1.405360  3.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.459162  }
         plane {     < 1.000000  0.000000  0.000000>  0.279490 inverse  }
      }
      translate <-0.459162  0.000000  0.000000>
      scale     < 16.543617  1.000000  1.000000>
      translate <-0.027755  0.000000  0.000000>
      rotate    < 0.000000  180.000000  0.000000>
      rotate    < 0.000000  0.000000 -70.110802>
      rotate    < 0.000000 -99.836716  0.000000>
      translate < 5.519500 -1.405360  3.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.280000  0.280000  0.280000>
         translate < 5.346110 -4.210700  4.000000>
      }
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Connector_2
      }
      clipped_by {
         plane {     < 1.000000  0.000000  0.000000>  0.279490  }
         plane {     < 1.000000  0.000000  0.000000>  0.099818 inverse  }
      }
      translate <-0.279490  0.000000  0.000000>
      scale     < 16.543659  1.000000  1.000000>
      translate <-0.016894  0.000000  0.000000>
      rotate    < 0.000000  180.000000  0.000000>
      rotate    < 0.000000  0.000000 -69.224366>
      rotate    < 0.000000 -109.091249  0.000000>
      translate < 5.346110 -4.210700  4.000000>
      texture {
         YourTexture
      }
   }

   object {
      quadric {
         Dot
         scale     < 0.100000  0.100000  0.100000>
         translate < 5.000000 -7.000010  5.000000>
      }
      texture {
         YourTexture
      }
   }

   bounded_by {
      quadric {
         Dot
         scale < 9.577604  9.577604  9.577604>
         translate < 3.083060  0.449995  2.050000>
      }
   }
}

/*-------------- COMBINE SPIKE -----------------------*/
#declare l_fin = 
composite {
   composite { spike1  }
   composite { spike2  }
   bounded_by {
      quadric {
         Dot
         scale < 11.235417  11.235417  11.235417>
         translate < 0.000000  0.449995  2.050000>
      }
   }
}



//**************************************************************
//----------------- Bass Fins...Spiked fingers, bloody fingers



/*-------------- MAKE POINTS --------------------------------*/
#declare bf1 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.995942  }
      plane {     < 1.000000  0.000000  0.000000>  0.099594 inverse  }
   }
   translate <-0.995942  0.000000  0.000000>
   scale     < 11.066020  1.000000  1.000000>
   translate <-0.090000  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  90.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 6.300081  6.300081  6.300081>
         translate < 0.000000  4.550000  0.000000>
      }
   }
}

#declare bf2 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.997018  }
      plane {     < 1.000000  0.000000  0.000000>  0.099702 inverse  }
   }
   translate <-0.997018  0.000000  0.000000>
   scale     < 12.919026  1.000000  1.000000>
   translate <-0.077174  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  59.036243>
   translate < 3.000000  1.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 7.970637  7.970637  7.970637>
         translate < 4.550000  5.550000  0.000000>
      }
   }
}

#declare bf3 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.995439  }
      plane {     < 1.000000  0.000000  0.000000>  0.099544 inverse  }
   }
   translate <-0.995439  0.000000  0.000000>
   scale     < 10.434392  1.000000  1.000000>
   translate <-0.095400  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  57.994617>
   translate < 9.000000  2.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 9.602502  9.602502  9.602502>
         translate < 7.050000  5.050000  0.000000>
      }
   }
}

#declare bf4 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.993750  }
      plane {     < 1.000000  0.000000  0.000000>  0.099375 inverse  }
   }
   translate <-0.993750  0.000000  0.000000>
   scale     < 8.902074  1.000000  1.000000>
   translate <-0.111631  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  60.255119>
   translate < 13.000000  2.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 10.710465  10.710465  10.710465>
         translate < 8.550000  4.550000  0.000000>
      }
   }
}

#declare bf5 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.993338  }
      plane {     < 1.000000  0.000000  0.000000>  0.099334 inverse  }
   }
   translate <-0.993338  0.000000  0.000000>
   scale     < 8.620246  1.000000  1.000000>
   translate <-0.115233  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  50.194429>
   translate < 17.000000  2.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 12.992346  12.992346  12.992346>
         translate < 11.050000  4.050000  0.000000>
      }
   }
}

#declare bf6 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.994512  }
      plane {     < 1.000000  0.000000  0.000000>  0.099451 inverse  }
   }
   translate <-0.994512  0.000000  0.000000>
   scale     < 9.505684  1.000000  1.000000>
   translate <-0.104623  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  35.537678>
   translate < 20.000000  2.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 15.447267  15.447267  15.447267>
         translate < 13.550000  3.550000  0.000000>
      }
   }
}

#declare bf7 =
object {
   quadric {
      Connector_2
   }
   clipped_by {
      plane {     < 1.000000  0.000000  0.000000>  0.992993  }
      plane {     < 1.000000  0.000000  0.000000>  0.099299 inverse  }
   }
   translate <-0.992993  0.000000  0.000000>
   scale     < 8.402674  1.000000  1.000000>
   translate <-0.118176  0.000000  0.000000>
   rotate    < 0.000000  180.000000  0.000000>
   rotate    < 0.000000  0.000000  23.198591>
   translate < 23.000000  1.000000  0.000000>
   texture {
      YourTexture
   }

   bounded_by {
      quadric {
         Dot
         scale < 16.744045  16.744045  16.744045>
         translate < 15.050000  2.050000  0.000000>
      }
   }
}

/*-------------------- COMBINE ALL SPIKES ---------------*/
#declare pnts = 
composite {
   object { bf1  }
   object { bf2  }
   object { bf3  }      
   object { bf4  }
   object { bf5  }
   object { bf6  }
   object { bf7  }

   bounded_by {
      quadric {
         Dot
         scale < 18.386953  18.386953  18.386953>
         translate < 14.550000  5.050000  0.000000>
      }
   }
}



/*------------ THIN SKIN BETWEEN THE SPIKES------------------------------------*/
#declare fin_skin = 
object {
   difference {
      intersection { Cube scale <15 5 0.1> translate <15 5 0>  }
      quadric { Cylinder_Z scale <4 6 1> rotate <0 0 -32> translate <5 12 0>  }
      quadric { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -32> translate <11.5 11 0>  }
      quadric { Cylinder_Z scale <1.6 2.5 1> rotate <0 0 -31> translate <15.5 10 0>  }
      quadric { Cylinder_Z scale <2.5 3.5 1> rotate <0 0 -38> translate <20 9.5 0>  }
      quadric { Cylinder_Z scale <3 4.1 1> rotate <0 0 -40> translate <26 10 0>  }
      quadric { Cylinder_Z scale <3 4.5 1> rotate <0 0 -51> translate <30.5 7.5 0>  }
      quadric { Cylinder_Z scale <3 4 1> rotate <0 0 -39> translate <32 2 0>  }
   }
   texture { YourTexture  }
   bounded_by { 
      intersection { Cube scale <15 5 0.1> translate <15 5 0>  }
   }
}

#declare fin = composite {
   composite { pnts  }
   object { fin_skin  }
   bounded_by { 
      intersection { Cube scale <17 5 0.1> translate <15 5 0>  }
   }
}


#declare tail = object {
   difference {
      union {
         quadric { Ellipsoid scale <10 5 0.5> rotate <0 0 -14> translate <9 -4 0>  }
         quadric { Ellipsoid scale <10 5 0.5> rotate <0 0 -52> translate <7 -8 0>  }
      }
      plane { <0 1 0> 0 rotate <0 0 53> translate <14 -9 0>  }
   }

   bounded_by {
      cylinder { <0, 0, 0>, z, 1 scale <11 11 3> translate <9 -6 -1.5>  }
   }
}


//------------ upper lip

#declare u_lip = object {
   difference {
      quadric { Ellipsoid scale <11 11 11>  }
      quadric { Ellipsoid scale <10 18 20> rotate <0 0 30> translate <-9 -6 0>  }
      plane { <0 1 0> 0 rotate <0 0 -48> translate <1.6 0 0> inverse  }
   }
   //texture { YourTexture  }
   bounded_by {
      quadric { Ellipsoid scale <12 12 12>  }
   }
}



/*--------------- GLASS FISH EYE --------------*/
#declare eye = composite {
   //-------------- extra skin around eye
   object {
      quadric { Ellipsoid scale <5 5 3>  }
      texture { YourTexture  }
   }
   //-------------- color pupil
   object {
      quadric { Ellipsoid scale <4 4 4>  }
      texture { 
         image_map { <1 -1 0> gif "fisheye.gif"  }
         scale <8 8 1> translate <-4 -4 -1>
         ambient 0.2 phong 1.0  }
   }
   //-------------- glass sphere {
   object {
      quadric { Ellipsoid scale <5 5 5>  }
      texture { Glass  }
   }
}





/*------ BUILD THE FISH---------------*/

#declare fish = composite {
   composite { fish_body scale <1 1 0.6>   }
   composite { eye translate <-26 -2 -4>  }
   composite { eye translate <-26 -2 4>  }
   composite { pnts scale <1.3 1.7 0.4> translate <-17 7 0>  }
   object { fin_skin scale <1.3 1.7 0.4> translate <-17 7 0> texture { YourTexture  }  }
   composite { fin scale <0.7 1 0.7> rotate <180 0 0> rotate <0 0 20> translate <-6 -10 0>  }
   composite { l_fin rotate <0 90 0> scale <1 1 1> translate <-14 -20 0>  }
   object { tail translate <33 -8 0> texture { YourTexture } }
   object { u_lip rotate <0 0 5> scale <1 0.96  0.65 > translate <-32 -8.5 0> texture { YourTexture } }

   bounded_by {
      cylinder { <0, 0, 0>, z, 1 scale <60 40 20> translate <0 0  -10>  }
   }
}

#version Fish_Inc_Temp
[ RETURN TO DIRECTORY ]