home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Raytrace & Morphing / SOS-RAYTRACE.ISO / programm / scripts / pov / copper / fish1.inc < prev    next >
Encoding:
Text File  |  1994-05-26  |  22.2 KB  |  646 lines

  1. //This file contains the textures for the fish.
  2.  
  3. #include "colors.inc"
  4. #include "textures.inc"
  5. #include "shapes.inc"
  6.  
  7.  
  8. #declare BezFlatness = 0
  9. #declare BezUStep    = 4
  10. #declare BezVStep    = 4
  11.  
  12. // *******  T E X T U R E S  *******
  13.  
  14. //  $MRY$: 'fishtex'
  15. #declare fishtex =
  16. texture {
  17.   finish {
  18.     ambient   0.10
  19.     diffuse   0.50
  20.     phong   1.00
  21.     phong_size  20.00
  22.     specular  1.0000
  23.     roughness  0.0001
  24.  
  25.   }
  26.   pigment {
  27.   gradient <1, 0, 0>
  28.     turbulence .1
  29.     color_map {
  30.       [0.0, 0.01 color Black color Black]
  31.       [0.01, 0.15 color Black color Red]
  32.       [0.15, 0.29 color Red color Black]
  33.       [0.29, 0.3 color Black color Black]
  34.       [0.3, 1.0 color White color White]
  35.  
  36.   }
  37.   scale <2.5, 1, 1>
  38.   translate <2, 0, 0>
  39.  }
  40. }
  41.  
  42.  
  43.  
  44.  
  45. //  $MRY$: 'pupiltex'
  46. #declare pupiltex = texture {
  47.  pigment { color red  0.000 green  0.000 blue  0.000 }
  48.  finish {
  49.   ambient   0.00
  50.   diffuse   0.00
  51.  }
  52. }
  53.  
  54.  
  55.  
  56.  
  57. //  $MRY$: 'fishmaptex'
  58. #declare fishmaptex = texture {
  59.   finish {
  60.     ambient   0.10
  61.     diffuse   0.60
  62.     brilliance   1.00
  63.     phong   1.00
  64.     phong_size  10.00
  65.     specular  1.0000
  66.     roughness  0.0001
  67.  
  68.   }
  69.   pigment {
  70.     image_map {
  71.       gif "copper2.gif" map_type 0 interpolate 2
  72.     }
  73.   }
  74.   normal {
  75.     bump_map {
  76.       gif "bumpmap1.gif" map_type 0 bump_size .5 interpolate 2
  77.     }
  78.     scale <1, .925, 1>
  79.   }
  80.   scale <5, 5, 5>
  81. }
  82.  
  83.  
  84.  
  85. //  $MRY$: 'tailtex'
  86. #declare tailtex = texture {
  87.  pigment { color White filter .5 }
  88.  finish {
  89.   ambient   0.10
  90.   diffuse   0.50
  91.   phong   0.60
  92.   phong_size  20.00
  93.  }
  94. }
  95.  
  96.  
  97.  
  98. //  $MRY$: 'pectexmap'
  99. #declare pectexmap = texture {
  100.   finish {
  101.     ambient   0.10
  102.     diffuse   0.50
  103.     phong   1.00
  104.     phong_size  20.00
  105.     specular  1.0000
  106.     roughness  0.0001
  107.  
  108.   }
  109.  pigment {
  110.    image_map {gif "pecfnmap.gif" map_type 0 interpolate 2}
  111.   }
  112.   normal {
  113.    bump_map {gif "pecfnbmp.gif" map_type 0 bump_size 2 interpolate 2}
  114.   }
  115. }
  116.  
  117.  
  118.  
  119. //  $MRY$: 'finmattex'
  120. #declare finmattex = texture {
  121.     material_map {
  122.     gif "finmat.gif" map_type 0 interpolate 2
  123.     texture {
  124.     pigment {color White}
  125.     finish {
  126.       ambient   0.10
  127.       diffuse   0.50
  128.       phong   1.00
  129.       phong_size  20.00
  130.       specular  1.0000
  131.       roughness  0.0001
  132.     }
  133.   }
  134.   texture {
  135.     pigment {
  136.       gradient <1, 0, 0>
  137.         color_map {
  138.           [0.0, 0.4 color White filter 1.0 color White filter 0.9]
  139.           [0.4, 0.61 color White filter 0.9 color White filter 0.5]
  140.           [0.61, 1.0 color White filter 0.5 color White filter 0.0]
  141.         }
  142.  
  143.     }
  144.     finish {
  145.       ambient   0.10
  146.       diffuse   0.50
  147.       phong   1.00
  148.       phong_size  20.00
  149.       specular  1.0000
  150.       roughness  0.0001
  151.     }
  152.   }
  153.  }
  154. }
  155.  
  156. //  $MRY$: 'sidefinmattex'
  157. #declare sidefinmattex = texture {
  158.   material_map {
  159.     gif "finmat.gif" map_type 0 interpolate 2
  160.     texture {
  161.     pigment {color White}
  162.     finish {
  163.       ambient   0.10
  164.       diffuse   0.50
  165.       phong   1.00
  166.       phong_size  20.00
  167.       specular  1.0000
  168.       roughness  0.0001
  169.     }
  170.   }
  171.   texture {
  172.     pigment {
  173.       gradient <-1, 0, 0>
  174.         color_map {
  175.           [0.0, 1.0 color White filter 0.5 color White filter 0.9]
  176.         }
  177.  
  178.     }
  179.     finish {
  180.       ambient   0.10
  181.       diffuse   0.50
  182.       phong   1.00
  183.       phong_size  20.00
  184.       specular  1.0000
  185.       roughness  0.0001
  186.     }
  187.   }
  188.  }
  189. }
  190. #declare sidefinmattex = texture {
  191.   material_map {
  192.     gif "finmat.gif" map_type 0 interpolate 2
  193.     texture {
  194.     pigment {color White}
  195.     finish {
  196.       ambient   0.10
  197.       diffuse   0.50
  198.       phong   1.00
  199.       phong_size  20.00
  200.       specular  1.0000
  201.       roughness  0.0001
  202.     }
  203.   }
  204.   texture {
  205.     pigment {
  206.       gradient <-1, 0, 0>
  207.         color_map {
  208.           [0.0, 1.0 color White filter 0.5 color White filter 0.9]
  209.         }
  210.  
  211.     }
  212.     finish {
  213.       ambient   0.10
  214.       diffuse   0.50
  215.       phong   1.00
  216.       phong_size  20.00
  217.       specular  1.0000
  218.       roughness  0.0001
  219.     }
  220.   }
  221.  }
  222. }
  223.  
  224. camera {  //  Camera Camera01
  225.   location  <21.254, -60.354, 5.000>
  226.   direction <0.0,     0.0,  2.4880>
  227.   sky       <0.0,     0.0,  1.0>  // Use right handed-system!
  228.   up        <0.0,     0.0,  1.0>  // Where Z is up
  229.   right     <1.3333,  0.0,  0.0>
  230.   look_at   <0.000, 0.000, 0.000>
  231. }
  232.  
  233. // *******  L I G H T S *******
  234. /*object {   // Light source Light001
  235.   light_source {
  236.     <-8.117, -14.470, 6.380>
  237.     color  red 1.000 green 1.000 blue 1.000
  238.   }
  239. }*/
  240.  
  241.  
  242. // ********  O B J E C T S *******
  243. #declare fishbodypatch1 = object {
  244.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  245.     <-0.053207, 0.000790, 8.034649>  <-0.053207, -0.204070, 8.034649>  <-0.045686, -0.839136, 1.851693>  <-0.079846, -0.839136, -0.073891>
  246.     <-7.820454, 0.000790, 8.124299>  <-7.820454, -0.204070, 8.124299>  <-5.505897, -0.839136, 1.557865>  <-5.522537, -0.839136, -0.048530>
  247.     <-7.846081, 0.000790, 0.262524>  <-7.846081, -0.204070, 0.262524>  <-7.841059, -0.335546, 0.169068>  <-7.842614, -0.335546, 0.069869>
  248.     <-9.914493, -0.011719, 1.094550>  <-9.914493, -0.060208, 1.091422>  <-9.903977, -0.028123, 0.201230>  <-9.905956, -0.028123, 0.077567>  }
  249. }
  250. #declare fishbodypatch2 = object {
  251.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  252.     <-0.079846, -0.839136, -0.073891>  <-0.114007, -0.839136, -1.999475>  <-0.100037, -0.171602, -6.036417>  <-0.100037, -0.007327, -6.036417>
  253.     <-5.522537, -0.839136, -0.048530>  <-5.539177, -0.839136, -1.654924>  <-7.816932, -0.171602, -5.953656>  <-7.816932, -0.007327, -5.953656>
  254.     <-7.842614, -0.335546, 0.069869>  <-7.844169, -0.335546, -0.029331>  <-7.842477, -0.171602, -0.102761>  <-7.842477, -0.007327, -0.102761>
  255.     <-9.905956, -0.028123, 0.077567>  <-9.907936, -0.028123, -0.046096>  <-9.905891, -0.027740, -0.991266>  <-9.905891, -0.001072, -0.988139>  }
  256. }
  257. #declare fishbodypatch3 = object {
  258.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  259.     <-0.100037, -0.007327, -6.036417>  <-0.100037, 0.156948, -6.036417>  <-0.114007, 0.792014, -1.999475>  <-0.079846, 0.792014, -0.073891>
  260.     <-7.816932, -0.007327, -5.953656>  <-7.816932, 0.156948, -5.953656>  <-5.539177, 0.792014, -1.654924>  <-5.522537, 0.792014, -0.048530>
  261.     <-7.842477, -0.007327, -0.102761>  <-7.842477, 0.156948, -0.102761>  <-7.844169, 0.303236, -0.029331>  <-7.842614, 0.303236, 0.069869>
  262.     <-9.905891, -0.001072, -0.988139>  <-9.905891, 0.025596, -0.985011>  <-9.907936, 0.031040, -0.037763>  <-9.905956, 0.031040, 0.085901>  }
  263. }
  264. #declare fishbodypatch4 = object {
  265.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  266.     <-0.079846, 0.792014, -0.073891>  <-0.045686, 0.792014, 1.851693>  <-0.053207, 0.205651, 8.034649>  <-0.053207, 0.000790, 8.034649>
  267.     <-5.522537, 0.792014, -0.048530>  <-5.505897, 0.792014, 1.557865>  <-7.820454, 0.205651, 8.124299>  <-7.820454, 0.000790, 8.124299>
  268.     <-7.842614, 0.303236, 0.069869>  <-7.841059, 0.303236, 0.169068>  <-7.846081, 0.205651, 0.262524>  <-7.846081, 0.000790, 0.262524>
  269.     <-9.905956, 0.031040, 0.085901>  <-9.903977, 0.031040, 0.209564>  <-9.914493, 0.036769, 1.097677>  <-9.914493, -0.011719, 1.094550>  }
  270. }
  271. #declare fishbodypatch = union {
  272.   object { fishbodypatch1 }
  273.   object { fishbodypatch2 }
  274.   object { fishbodypatch3 }
  275.   object { fishbodypatch4 }
  276.   translate <0.000000, 0.050171, 0.000000>
  277. }
  278.  
  279. #declare fishbodypatc11 = object {
  280.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  281.     <0.161107, 0.000790, 8.034649>  <0.161107, -0.204070, 8.034649>  <0.168628, -0.839136, 1.851693>  <0.134468, -0.839136, -0.073891>
  282.     <-10.392223, 0.000790, 8.767241>  <-10.392223, -0.204070, 8.767241>  <-5.505897, -0.839136, 1.557865>  <-5.522537, -0.839136, -0.048530>
  283.     <-8.167552, 0.012215, -0.809047>  <-8.167552, -0.661043, -0.809047>  <-8.162530, -0.792520, -0.902503>  <-8.164085, -0.792520, -1.001702>
  284.     <-14.303018, 0.000790, -0.391381>  <-14.303018, -0.204070, -0.391381>  <-13.198977, -0.290828, -0.964881>  <-13.200957, -0.290828, -1.088545>  }
  285. }
  286. #declare fishbodypatc12 = object {
  287.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  288.     <0.134468, -0.839136, -0.073891>  <0.100307, -0.839136, -1.999475>  <0.114277, -0.171602, -6.036417>  <0.114277, -0.007327, -6.036417>
  289.     <-5.522537, -0.839136, -0.048530>  <-5.539177, -0.839136, -1.654924>  <-8.674189, -0.171602, -6.382284>  <-8.674189, -0.007327, -6.382284>
  290.     <-8.164085, -0.792520, -1.001702>  <-8.165640, -0.792520, -1.100902>  <-8.163948, -0.171602, -1.174331>  <-8.163948, -0.007327, -1.174331>
  291.     <-13.200957, -0.290828, -1.088545>  <-13.202937, -0.290828, -1.212208>  <-14.294416, -0.171602, -1.528284>  <-14.294416, -0.007327, -1.528284>  }
  292. }
  293. #declare fishbodypatc13 = object {
  294.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  295.     <0.114277, -0.007327, -6.036417>  <0.114277, 0.156948, -6.036417>  <0.100307, 0.792014, -1.999475>  <0.134468, 0.792014, -0.073891>
  296.     <-8.674189, -0.007327, -6.382284>  <-8.674189, 0.156948, -6.382284>  <-5.539177, 0.792014, -1.654924>  <-5.522537, 0.792014, -0.048530>
  297.     <-8.163948, -0.007327, -1.174331>  <-8.163948, 0.156948, -1.174331>  <-8.165640, 0.783058, -1.100902>  <-8.164085, 0.783058, -1.001702>
  298.     <-14.294416, -0.007327, -1.528284>  <-14.294416, 0.156948, -1.528284>  <-13.202937, 0.243706, -1.178855>  <-13.200957, 0.243706, -1.055192>  }
  299. }
  300. #declare fishbodypatc14 = object {
  301.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  302.     <0.134468, 0.792014, -0.073891>  <0.168628, 0.792014, 1.851693>  <0.161107, 0.205651, 8.034649>  <0.161107, 0.000790, 8.034649>
  303.     <-5.522537, 0.792014, -0.048530>  <-5.505897, 0.792014, 1.557865>  <-10.392223, 0.205651, 8.767241>  <-10.392223, 0.000790, 8.767241>
  304.     <-8.164085, 0.783058, -1.001702>  <-8.162530, 0.783058, -0.902503>  <-8.167552, 0.685473, -0.809047>  <-8.167552, 0.012215, -0.809047>
  305.     <-13.200957, 0.243706, -1.055192>  <-13.198977, 0.243706, -0.931528>  <-14.303018, 0.205651, -0.391381>  <-14.303018, 0.000790, -0.391381>  }
  306. }
  307. #declare fishbodypatc1 = union {
  308.   object { fishbodypatc11 }
  309.   object { fishbodypatc12 }
  310.   object { fishbodypatc13 }
  311.   object { fishbodypatc14 }
  312.   rotate <-0.000000, -0.000000, -180.000000>
  313. }
  314.  
  315. #declare fishbody = union {
  316.   object { fishbodypatch }
  317.   object { fishbodypatc1 }
  318.   scale <0.900000, 1.000000, 1.000000>
  319. }
  320.  
  321. #declare pectoralpatch1 = object {
  322.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  323.     <-0.874564, -0.009294, 2.393881>  <0.631882, -0.009294, 3.069143>  <1.688154, -0.009294, 3.069143>  <2.969513, -0.009294, 3.012871>
  324.     <-2.000000, -0.004647, 0.999989>  <-1.000000, -0.004647, 0.999989>  <0.000000, -0.004647, 0.999989>  <2.856969, -0.004647, 1.844066>
  325.     <-2.562718, 0.000000, -0.900349>  <-1.000000, 0.000000, 0.000000>  <0.000000, 0.000000, 0.000000>  <1.731533, 0.000000, 0.337631>
  326.     <-3.643200, 0.673792, -4.142458>  <-1.731533, 0.004647, -2.012882>  <-0.337631, 0.004647, -1.112533>  <1.000000, 0.004647, -0.212184>  }
  327. }
  328. #declare pectoralpatch = object {   pectoralpatch1
  329.   texture {
  330.     pectexmap
  331.     scale <10.474444, 6.377111, 6.821608>
  332.     rotate <-94.659119, 132.248138, 7.081922>
  333.     translate <5.260484, 0.815777, 1.022286>
  334.   }
  335.   scale <0.800000, 0.800000, 0.800000>
  336.   rotate <19.969477, -0.000000, -11.637955>
  337.   translate <1.955446, 1.313440, -7.792051>
  338. }
  339.  
  340. #declare tailpatch1 = object {
  341.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  342.     <-13.433449, 0.012590, 3.752071>  <-12.433449, 0.012590, 3.260949>  <-11.003717, 0.012590, 2.401486>  <-10.003717, 0.012590, 1.061010>
  343.     <-13.924571, 0.007096, 0.542037>  <-12.003717, 0.007096, 0.542037>  <-11.003717, 0.007096, 0.542037>  <-10.003717, 0.007096, 0.315678>
  344.     <-13.924571, 0.001601, -0.457948>  <-12.003717, 0.001601, -0.457948>  <-11.003717, 0.001601, -0.457948>  <-10.003717, 0.001601, -0.259884>
  345.     <-13.372059, -0.003893, -3.667982>  <-12.372059, -0.003893, -3.176860>  <-11.003717, -0.003893, -2.194616>  <-10.003717, -0.003893, -1.005215>  }
  346. }
  347. #declare tailpatch = object {   tailpatch1
  348.   texture {
  349.     finmattex
  350.     scale <10.724591, 10.412826, 11.716067>
  351.     rotate <-270.000000, -0.000000, -0.000000>
  352.     translate <-16.937028, 0.039789, -4.877452>
  353.   }
  354.   translate <1.124528, 0.029822, 0.058315>
  355. }
  356.  
  357. #declare outereyesphere = object {
  358.   sphere {<0,0,0>,1}
  359.   scale <0.750000, 0.200000, 0.750000>
  360.   rotate <4.175116, -0.000000, 354.787201>
  361.   translate <10.070300, 0.431905, 0.507579>
  362. }
  363.  
  364. #declare pupilsphere = object {
  365.   sphere {<0,0,0>,1}
  366.   texture {
  367.     pupiltex
  368.   }
  369.   scale <0.400000, 0.100000, 0.400000>
  370.   rotate <4.416892, -0.000000, -6.203704>
  371.   translate <10.092627, 0.575020, 0.520804>
  372. }
  373.  
  374. #declare eye1 = union {
  375.   object { outereyesphere }
  376.   object { pupilsphere }
  377.   rotate <1.360893, -0.000000, -0.000000>
  378.   translate <-1.157639, 0.000000, -0.082689>
  379. }
  380.  
  381. #declare outereyesphe1 = object {
  382.   sphere {<0,0,0>,1}
  383.   scale <0.750000, 0.200000, 0.750000>
  384.   rotate <4.175116, -0.000000, 354.787201>
  385.   translate <10.070300, 0.431905, 0.507579>
  386. }
  387.  
  388. #declare pupilsphere1 = object {
  389.   sphere {<0,0,0>,1}
  390.   texture {
  391.     pupiltex
  392.   }
  393.   scale <0.400000, 0.100000, 0.400000>
  394.   rotate <4.416892, -0.000000, -6.203704>
  395.   translate <10.092627, 0.575020, 0.520804>
  396. }
  397.  
  398. #declare eye2 = union {
  399.   object { outereyesphe1 }
  400.   object { pupilsphere1 }
  401.   rotate <-0.853110, -0.000000, -171.403610>
  402.   translate <18.730058, 1.540279, -0.077757>
  403. }
  404.  
  405. #declare analspine1 = object {
  406.   sphere {<0,0,0>,1}
  407.   scale <0.400000, 0.010000, 3.000000>
  408.   rotate <-0.000000, 26.860054, -0.000000>
  409.   translate <-2.772014, 0.000000, -6.307463>
  410. }
  411.  
  412. #declare analspine2 = object {
  413.   sphere {<0,0,0>,1}
  414.   scale <0.200000, 0.010000, 1.500000>
  415.   rotate <-0.000000, 20.424746, -0.000000>
  416.   translate <-1.958274, 0.000000, -5.932374>
  417. }
  418.  
  419. #declare dorsalspine1 = object {
  420.   sphere {<0,0,0>,1}
  421.   scale <0.350000, 0.010000, 3.000000>
  422.   rotate <-0.000000, -26.100386, -0.000000>
  423.   translate <-1.252448, 0.000000, 9.324779>
  424. }
  425.  
  426. #declare dorsalspine2 = object {
  427.   sphere {<0,0,0>,1}
  428.   scale <0.420000, 0.010000, 3.000000>
  429.   rotate <-0.000000, -21.129198, -0.000000>
  430.   translate <-0.659824, 0.000000, 9.314760>
  431. }
  432.  
  433. #declare dorsalspine3 = object {
  434.   sphere {<0,0,0>,1}
  435.   scale <0.504000, 0.010000, 3.000000>
  436.   rotate <-0.000000, -17.982313, -0.000000>
  437.   translate <0.117956, 0.000000, 9.302057>
  438. }
  439.  
  440. #declare dorsalspine4 = object {
  441.   sphere {<0,0,0>,1}
  442.   scale <0.504000, 0.010000, 3.000000>
  443.   rotate <-0.000000, -14.267365, -0.000000>
  444.   translate <0.950533, 0.000000, 9.247260>
  445. }
  446.  
  447. #declare dorsalspine5 = object {
  448.   sphere {<0,0,0>,1}
  449.   scale <0.504000, 0.010000, 3.000000>
  450.   rotate <-0.000000, -11.813030, -0.000000>
  451.   translate <1.838245, 0.000000, 9.158043>
  452. }
  453.  
  454. #declare dorsalspine7 = object {
  455.   sphere {<0,0,0>,1}
  456.   scale <0.408240, 0.010000, 2.430000>
  457.   rotate <-0.000000, -4.899249, -0.000000>
  458.   translate <3.370407, 0.000000, 8.795239>
  459. }
  460.  
  461. #declare dorsalspine8 = object {
  462.   sphere {<0,0,0>,1}
  463.   scale <0.367416, 0.010000, 2.187000>
  464.   rotate <-0.000000, -0.273033, -0.000000>
  465.   translate <3.978218, 0.000000, 8.359724>
  466. }
  467.  
  468. #declare dorsalspine9 = object {
  469.   sphere {<0,0,0>,1}
  470.   scale <0.293933, 0.010000, 1.749600>
  471.   rotate <-0.000000, 3.579628, -0.000000>
  472.   translate <4.555551, 0.000000, 7.887854>
  473. }
  474.  
  475. #declare dorsalspine10 = object {
  476.   sphere {<0,0,0>,1}
  477.   scale <0.235146, 0.010000, 1.399680>
  478.   rotate <-0.000000, 8.113843, -0.000000>
  479.   translate <5.003019, 0.000000, 7.385063>
  480. }
  481.  
  482. #declare dorsalspine6 = object {
  483.   sphere {<0,0,0>,1}
  484.   scale <0.453600, 0.010000, 2.700000>
  485.   rotate <-0.000000, -7.139027, -0.000000>
  486.   translate <2.601387, 0.000000, 9.036129>
  487. }
  488.  
  489. #declare dorsalspines = union {
  490.   object { dorsalspine1 }
  491.   object { dorsalspine2 }
  492.   object { dorsalspine3 }
  493.   object { dorsalspine4 }
  494.   object { dorsalspine5 }
  495.   object { dorsalspine7 }
  496.   object { dorsalspine8 }
  497.   object { dorsalspine9 }
  498.   object { dorsalspine10 }
  499.   object { dorsalspine6 }
  500.   scale <1.083668, 0.950000, 0.916583>
  501.   rotate <-0.000000, 7.862904, -0.000000>
  502.   translate <-1.342611, 0.000000, 1.360942>
  503. }
  504.  
  505. #declare pectoralpatc11 = object {
  506.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  507.     <-0.874564, -0.009294, 2.393881>  <0.631882, -0.009294, 3.069143>  <1.688154, -0.009294, 3.069143>  <2.969513, -0.009294, 3.012871>
  508.     <-2.000000, -0.004647, 0.999989>  <-1.000000, -0.004647, 0.999989>  <0.000000, -0.004647, 0.999989>  <2.856969, -0.004647, 1.844066>
  509.     <-2.562718, 0.000000, -0.900349>  <-1.000000, 0.000000, 0.000000>  <0.000000, 0.000000, 0.000000>  <1.731533, 0.000000, 0.337631>
  510.     <-3.643200, -1.036245, -4.142458>  <-1.731533, 0.004647, -2.012882>  <-0.337631, 0.004647, -1.112533>  <1.000000, 0.004647, -0.212184>  }
  511. }
  512. #declare pectoralpatc1 = object {   pectoralpatc11
  513.   texture {
  514.     pectexmap
  515.     scale <10.474444, 6.377111, 6.821608>
  516.     rotate <-94.659119, 132.248138, 7.081922>
  517.     translate <5.260484, 0.815777, 1.022286>
  518.   }
  519.   scale <0.800000, 0.800000, 0.800000>
  520.   rotate <-30.257172, -8.835130, -6.680355>
  521.   translate <1.560379, -1.283715, -7.545263>
  522. }
  523.  
  524. #declare sidefinpatch1 = object {
  525.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  526.     <-7.160986, 3.576524, 2.397867>  <-1.000000, 1.494740, 1.546449>  <0.000000, 1.494740, 1.546449>  <1.180585, 1.494740, 0.426825>
  527.     <-3.635688, 1.489740, 1.215607>  <-1.000000, 1.489740, 0.546462>  <0.000000, 1.489740, 0.546462>  <1.216701, 1.489740, 0.113059>
  528.     <-2.594796, 1.484740, 0.066920>  <-1.000000, 1.484740, -0.453526>  <0.000000, 1.484740, -0.453526>  <1.216701, 1.484740, -0.128474>
  529.     <-1.553903, 1.479740, -1.750911>  <-0.891649, 1.479740, -1.706332>  <0.000000, 1.479740, -1.453513>  <1.144468, 1.479740, -0.550591>  }
  530. }
  531. #declare sidefinpatch = object {   sidefinpatch1
  532.   texture {
  533.     sidefinmattex
  534.     scale <14.726154, 5.638723, 26.966423>
  535.     rotate <-270.000000, -0.000000, -0.000000>
  536.     translate <-9.084055, 1.504730, -2.494564>
  537.   }
  538.   rotate <-0.000000, -0.000000, -21.360031>
  539.   translate <4.343431, -0.517067, -0.371354>
  540. }
  541.  
  542. #declare sidefinpatch11 = object {
  543.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  544.     <-6.640540, -0.289647, 2.397867>  <-1.000000, 1.494740, 1.546449>  <0.000000, 1.494740, 1.546449>  <1.180585, 1.494740, 0.426825>
  545.     <-3.635688, 1.489740, 1.215607>  <-1.000000, 1.489740, 0.546462>  <0.000000, 1.489740, 0.546462>  <1.216701, 1.489740, 0.113059>
  546.     <-2.594796, 1.484740, 0.066920>  <-1.000000, 1.484740, -0.453526>  <0.000000, 1.484740, -0.453526>  <1.216701, 1.484740, -0.128474>
  547.     <-1.553903, 1.479740, -1.750911>  <-0.891649, 1.479740, -1.706332>  <0.000000, 1.479740, -1.453513>  <1.144468, 1.479740, -0.550591>  }
  548. }
  549. #declare sidefinpatch1 = object {   sidefinpatch11
  550.   texture {
  551.     sidefinmattex
  552.     scale <14.726154, 5.638723, 26.966423>
  553.     rotate <-270.000000, -0.000000, -0.000000>
  554.     translate <-9.084055, 1.504730, -2.494564>
  555.   }
  556.   rotate <-0.000000, -0.000000, -337.206604>
  557.   translate <4.989764, -2.456067, -0.371354>
  558. }
  559.  
  560. #declare gillpatch1 = object {
  561.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  562.     <1.527753, -0.636098, -2.944889>  <-1.370790, -0.732393, -2.547644>  <-1.926090, -0.617162, -0.319859>  <-2.784400, -0.468618, -0.167475>
  563.     <4.079758, -0.365664, -2.091998>  <1.703091, -0.011866, -0.552750>  <0.799742, -0.016258, -0.123866>  <-3.093283, -0.473501, 1.224367>
  564.     <4.149252, -0.368988, -0.861882>  <2.131976, -0.010995, 0.350609>  <1.228627, -0.015387, 0.779493>  <-1.835433, -1.299112, 5.440211>
  565.     <3.759471, -0.378611, 0.845669>  <3.778406, -0.878264, 2.416172>  <2.292047, -1.042194, 3.505329>  <1.237979, -1.047319, 4.005770>  }
  566. }
  567. #declare gillpatch = object {   gillpatch1
  568.   scale <0.600000, 0.600000, 0.800000>
  569.   rotate <1.958592, -0.000000, -10.375690>
  570.   translate <7.357045, 0.994413, -0.605120>
  571. }
  572.  
  573. #declare gillpatch11 = object {
  574.   bicubic_patch { type 1 flatness BezFlatness u_steps BezUStep v_steps BezVStep
  575.     <1.144504, -0.032269, -3.114960>  <-1.737411, 0.413828, -2.404192>  <-1.795726, 0.339478, -0.137913>  <-3.232490, 0.711225, 0.087833>
  576.     <3.581871, -0.090484, -2.440371>  <1.647307, -0.016134, -0.701649>  <0.785640, -0.016134, -0.194175>  <-3.416524, 0.727360, 1.501526>
  577.     <4.057745, -0.074349, -1.221391>  <2.154715, 0.000000, 0.159906>  <1.293048, 0.000000, 0.667380>  <-1.490469, 1.373767, 5.378902>
  578.     <3.821188, -0.058215, 0.513986>  <3.682221, 0.974484, 1.858259>  <2.594450, 1.038270, 3.070141>  <1.589018, 1.135890, 3.925861>  }
  579. }
  580. #declare gillpatch1 = object {   gillpatch11
  581.   scale <0.600000, 0.600000, 0.800000>
  582.   rotate <4.092361, -0.000000, 13.479308>
  583.   translate <7.485442, -0.846610, -0.605120>
  584. }
  585.  
  586. #declare analfinsphere = object {
  587.   sphere {<0,0,0>,1}
  588.   scale <3.671643, 0.010000, 7.783871>
  589.   rotate <-0.000000, 22.260298, -0.000000>
  590.   translate <-4.699688, 0.000000, -1.909248>
  591. }
  592.  
  593. #declare dorsalsphere = object {
  594.   sphere {<0,0,0>,1}
  595.   scale <6.055420, 0.010000, 8.948157>
  596.   rotate <-0.000000, -33.031452, -0.000000>
  597.   translate <-3.338263, 0.000000, 4.932247>
  598. }
  599.  
  600. #declare dorsalsphere1 = object {
  601.   sphere {<0,0,0>,1}
  602.   scale <12.382659, 0.010000, 16.276329>
  603.   rotate <-0.000000, -22.002117, -0.000000>
  604.   translate <2.898377, 0.000000, 6.812839>
  605. }
  606.  
  607. #declare dorsalsphere2 = object {
  608.   sphere {<0,0,0>,1}
  609.   scale <13.040835, 0.010000, 13.149990>
  610.   rotate <-0.000000, -22.002117, -0.000000>
  611.   translate <-5.420617, 0.000000, -0.254227>
  612. }
  613.  
  614. #declare dorsalfin = intersection {
  615.   object { dorsalsphere }
  616.   object { dorsalsphere1 }
  617.   object { dorsalsphere2 }
  618. }
  619.  
  620. #declare Fish =
  621.  union {
  622.   object { fishbody }
  623.   object { pectoralpatch }
  624.   object { tailpatch }
  625.   object { eye1 }
  626.   object { eye2 }
  627.   object { analspine1 }
  628.   object { analspine2 }
  629.   object { dorsalspines }
  630.   object { pectoralpatc1 }
  631.   object { sidefinpatch }
  632.   object { sidefinpatch1 }
  633.   object { gillpatch }
  634.   object { gillpatch1 }
  635.   object { analfinsphere }
  636.   object { dorsalfin }
  637.   texture {
  638.     fishmaptex
  639.     scale <6.2000, 5.29000, 2.000000>
  640.     rotate <-0.000000, 90.000000, -90.000000>
  641.     rotate <0, -90, 0>
  642.     translate <-16.100000, -2.000000, -10.500000>
  643.   }
  644. }
  645.  
  646.