// modelling environment #ifndef(BOAT) light_source { <8,-8,0> rgb 1 } light_source { <-18,10,-10> rgb 1 } camera { location <-15,6,-15> look_at <3,5,0> } camera { location <0,2,12> look_at <0,2,0> } background {rgb 1 } #end // switch mast and rigging on or off #declare water_difference = intersection { plane { y 2.5 } intersection { sphere { < 15,15,0> 22 } sphere { <-15,15,0> 22 } sphere { <0,25,0> 25 } scale <1,.7,.9> } } #declare p_hull = pigment { granite color_map { [0 rgb <.6,.4,.3>][1 rgb <.3,.2,.1>]}} #declare p_sail = pigment { granite color_map { [0 rgb <.7,.65,.5> ] [1 rgb <.5,.4,.3> ] } scale .02 } #declare p_trans = pigment { rgbt 1 } #declare zarr = array[7] {-9,-6,-4,0,4,6,9} #declare hull = union { // outer parts // lauta 1 bicubic_patch { type 1 u_steps 0 v_steps 4 uv_vectors <0,0>,<1,0>,<1,1>,<0,1> <3.0,2.0,zarr[3]><3.0,2.0,zarr[4]><2.7,2.1,zarr[5]><.1,3.2,zarr[6]+1.5> <2.9,1.8,zarr[3]><2.9,2.0,zarr[4]><2.65,2.1,zarr[5]><.1,3.0,zarr[6]+1.5> <2.8,1.55,zarr[3]><2.8,1.35,zarr[4]><2.55,1.6,zarr[5]><.1,2.9,zarr[6]+1.45> <2.7,1.35,zarr[3]><2.7,1.35,zarr[4]><2.5,1.6,zarr[5]><.1,2.7,zarr[6]+1.45> } // lauta 1, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <2.7,1.35,zarr[3]><2.7,1.35,zarr[4]><2.5,1.6,zarr[5]><.1,2.7,zarr[6]+1.45> <2.69,1.35,zarr[3]><2.69,1.35,zarr[4]><2.47,1.6,zarr[5]><.1,2.7,zarr[6]+1.43> <2.66,1.35,zarr[3]><2.66,1.35,zarr[4]><2.43,1.6,zarr[5]><.1,2.7,zarr[6]+1.42> <2.65,1.35,zarr[3]><2.65,1.35,zarr[4]><2.4,1.6,zarr[5]><.1,2.7,zarr[6]+1.4> } // lauta 2 bicubic_patch { type 1 u_steps 0 v_steps 4 uv_vectors <0,1>,<-1,1>,<-1,2>,<0,2> <2.65,1.35,zarr[3]><2.65,1.35,zarr[4]><2.4,1.6,zarr[5]><.1,2.7,zarr[6]+1.4> <2.45,1.15,zarr[3]><2.45,1.15,zarr[4]><2.2,1.4,zarr[5]><.1,2.5,zarr[6]+1.33> <2.2,.85,zarr[3]><2.2,.85,zarr[4]><2.00,1.2,zarr[5]><.1,2.3,zarr[6]+1.27> <2.1,.65,zarr[3]><2.0,.65,zarr[4]><1.85,1.0,zarr[5]><.1,2.1,zarr[6]+1.2> } // lauta 2, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <2.1,.65,zarr[3]><2.0,.65,zarr[4]><1.85,1.0,zarr[5]><.1,2.1,zarr[6]+1.2> <2.1,.65,zarr[3]><2.0,.65,zarr[4]><1.85,1.0,zarr[5]><.1,2.1,zarr[6]+1.2> <2.0,.65,zarr[3]><1.9,.65,zarr[4]><1.75,1.0,zarr[5]><.1,2.1,zarr[6]+1.15> <2.0,.65,zarr[3]><1.9,.65,zarr[4]><1.75,1.0,zarr[5]><.1,2.1,zarr[6]+1.15> } // lauta 3 bicubic_patch { type 1 u_steps 0 v_steps 4 uv_vectors <0,1>,<1,1>,<1,2>,<0,2> <2.0,.65,zarr[3]><1.9,.65,zarr[4]><1.75,1.0,zarr[5]><.1,2.1,zarr[6]+1.15> <1.9,.57,zarr[3]><1.8,.57,zarr[4]><1.65,.9,zarr[5]><.1,1.9,zarr[6]+1.15> <1.7,0.53,zarr[3]><1.7,0.53,zarr[4]><1.55,0.8,zarr[5]><.1,1.8,zarr[6]+.9> <1.6,0.5,zarr[3]><1.6,0.5,zarr[4]><1.45,0.7,zarr[5]><.1,1.7,zarr[6]+.9> } // lauta 3, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <1.6,0.5,zarr[3]><1.6,0.5,zarr[4]><1.45,0.7,zarr[5]><.1,1.7,zarr[6]+.9> <1.6,0.5,zarr[3]><1.6,0.5,zarr[4]><1.45,0.7,zarr[5]><.1,1.7,zarr[6]+.9> <1.5,0.5,zarr[3]><1.5,0.5,zarr[4]><1.35,0.7,zarr[5]><.1,1.7,zarr[6]+.85> <1.5,0.5,zarr[3]><1.5,0.5,zarr[4]><1.35,0.7,zarr[5]><.1,1.7,zarr[6]+.85> } // lauta 4 bicubic_patch { type 1 u_steps 0 v_steps 4 uv_vectors <0,0>,<-1,0>,<-1,1>,<0,1> <1.5,0.5,zarr[3]><1.5,0.5,zarr[4]><1.35,0.7,zarr[5]><.1,1.7,zarr[6]+.85> <1.4,0.47,zarr[3]><1.4,0.47,zarr[4]><1.25,0.63,zarr[5]><.1,1.6,zarr[6]+.75> <1.2,0.43,zarr[3]><1.2,0.43,zarr[4]><1.15,0.57,zarr[5]><.1,1.5,zarr[6]+.65> <1.1,0.4,zarr[3]><1.1,0.4,zarr[4]><1.05,0.5,zarr[5]><.1,1.4,zarr[6]+.55> } // lauta 4, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <1.1,0.4,zarr[3]><1.1,0.4,zarr[4]><1.05,0.5,zarr[5]><.1,1.4,zarr[6]+.55> <1.1,0.4,zarr[3]><1.1,0.4,zarr[4]><1.05,0.5,zarr[5]><.1,1.4,zarr[6]+.55> <1.0,0.4,zarr[3]><1.0,0.4,zarr[4]><.95,0.5,zarr[5]><.1,1.4,zarr[6]+.5> <1.0,0.4,zarr[3]><1.0,0.4,zarr[4]><.95,0.5,zarr[5]><.1,1.4,zarr[6]+.5> } // lauta 5 bicubic_patch { type 1 u_steps 0 v_steps 4 <1.0,0.4,zarr[3]><1.0,0.4,zarr[4]><.95,0.5,zarr[5]><.1,1.4,zarr[6]+.5> <0.9,0.37,zarr[3]><.9,0.37,zarr[4]><.85,0.47,zarr[5]><.1,1.33,zarr[6]+.5> <0.8,0.33,zarr[3]><0.8,0.33,zarr[4]><0.7,0.43,zarr[5]><.1,1.27,zarr[6]+.05> <0.7,0.3,zarr[3]><0.7,0.3,zarr[4]><0.6,0.4,zarr[5]><.1,1.2,zarr[6]+.05> } // lauta 5, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <0.7,0.3,zarr[3]><0.7,0.3,zarr[4]><0.6,0.4,zarr[5]><.1,1.2,zarr[6]+.05> <0.7,0.3,zarr[3]><0.7,0.3,zarr[4]><0.6,0.4,zarr[5]><.1,1.2,zarr[6]+.05> <0.6,0.3,zarr[3]><0.6,0.3,zarr[4]><0.5,0.4,zarr[5]><.1,1.2,zarr[6]> <0.6,0.3,zarr[3]><0.6,0.3,zarr[4]><0.5,0.4,zarr[5]><.1,1.2,zarr[6]> } // lauta 6 bicubic_patch { type 1 u_steps 0 v_steps 4 <0.6,.3,zarr[3]><0.6,.3,zarr[4]><0.5,.4,zarr[5]><.1,1.2,zarr[6]> <0.4,.27,zarr[3]><0.4,.27,zarr[4]><0.4,.35,zarr[5]><.1,1.1,zarr[6]> <0.3,.23,zarr[3]><0.3,.23,zarr[4]><0.2,.3,zarr[5]><.1,1,zarr[6]-.5> <0.1,.2,zarr[3]><0.1,.2,zarr[4]><0.1,.25,zarr[5]><.1,.9,zarr[6]-.5> } // inner parts (outer +/-.2 in appropriate axis) // lauta 1 bicubic_patch { type 1 u_steps 0 v_steps 4 <2.8,2.0,zarr[3]><2.8,2.0,zarr[4]><2.5,2.1,zarr[5]><.1,3.2,zarr[6]+1.3> <2.8,2.0,zarr[3]><2.8,2.0,zarr[4]><2.5,2.1,zarr[5]><.1,3.2,zarr[6]+1.3> <2.5,1.35,zarr[3]><2.5,1.35,zarr[4]><2.3,1.6,zarr[5]><.1,2.7,zarr[6]+1.25> <2.5,1.35,zarr[3]><2.5,1.35,zarr[4]><2.3,1.6,zarr[5]><.1,2.7,zarr[6]+1.25> } // lauta 1, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <2.5,1.35,zarr[3]><2.5,1.35,zarr[4]><2.3,1.6,zarr[5]><.1,2.7,zarr[6]+1.25> <2.5,1.35,zarr[3]><2.5,1.35,zarr[4]><2.3,1.6,zarr[5]><.1,2.7,zarr[6]+1.25> <2.4,1.35,zarr[3]><2.4,1.35,zarr[4]><2.2,1.6,zarr[5]><.1,2.7,zarr[6]+1.2> <2.4,1.35,zarr[3]><2.4,1.35,zarr[4]><2.2,1.6,zarr[5]><.1,2.7,zarr[6]+1.2> } // lauta 2 bicubic_patch { type 1 u_steps 0 v_steps 4 <2.4,1.35,zarr[3]><2.4,1.35,zarr[4]><2.2,1.6,zarr[5]><.1,2.7,zarr[6]+1.2> <2.4,1.35,zarr[3]><2.4,1.35,zarr[4]><2.2,1.6,zarr[5]><.1,2.7,zarr[6]+1.2> <1.9,.65,zarr[3]><1.8,.65,zarr[4]><1.65,1.0,zarr[5]><.1,2.1,zarr[6]+1> <1.9,.65,zarr[3]><1.8,.65,zarr[4]><1.65,1.0,zarr[5]><.1,2.1,zarr[6]+1> } // lauta 2, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <1.9,.65,zarr[3]><1.8,.65,zarr[4]><1.65,1.0,zarr[5]><.1,2.1,zarr[6]+1> <1.9,.65,zarr[3]><1.8,.65,zarr[4]><1.65,1.0,zarr[5]><.1,2.1,zarr[6]+1> <1.8,.65,zarr[3]><1.7,.65,zarr[4]><1.55,1.0,zarr[5]><.1,2.1,zarr[6]+.95> <1.8,.65,zarr[3]><1.7,.65,zarr[4]><1.55,1.0,zarr[5]><.1,2.1,zarr[6]+.95> } // lauta 3 bicubic_patch { type 1 u_steps 0 v_steps 4 <1.8,.65,zarr[3]><1.7,.65,zarr[4]><1.55,1.0,zarr[5]><.1,2.1,zarr[6]+.95> <1.8,.65,zarr[3]><1.7,.65,zarr[4]><1.55,1.0,zarr[5]><.1,2.1,zarr[6]+.95> <1.4,0.5,zarr[3]><1.4,0.5,zarr[4]><1.25,0.7,zarr[5]><.1,1.7,zarr[6]+.7> <1.4,0.5,zarr[3]><1.4,0.5,zarr[4]><1.25,0.7,zarr[5]><.1,1.7,zarr[6]+.7> } // lauta 3, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <1.4,0.5,zarr[3]><1.4,0.5,zarr[4]><1.25,0.7,zarr[5]><.1,1.7,zarr[6]+.7> <1.4,0.5,zarr[3]><1.4,0.5,zarr[4]><1.25,0.7,zarr[5]><.1,1.7,zarr[6]+.7> <1.3,0.5,zarr[3]><1.3,0.5,zarr[4]><1.15,0.7,zarr[5]><.1,1.7,zarr[6]+.65> <1.3,0.5,zarr[3]><1.3,0.5,zarr[4]><1.15,0.7,zarr[5]><.1,1.7,zarr[6]+.65> } // lauta 4 bicubic_patch { type 1 u_steps 0 v_steps 4 <1.3,0.5,zarr[3]><1.3,0.5,zarr[4]><1.15,0.7,zarr[5]><.1,1.7,zarr[6]+.65> <1.3,0.5,zarr[3]><1.3,0.5,zarr[4]><1.15,0.7,zarr[5]><.1,1.7,zarr[6]+.65> <0.9,0.4,zarr[3]><0.9,0.4,zarr[4]><0.85,0.5,zarr[5]><.1,1.4,zarr[6]+.35> <0.9,0.4,zarr[3]><0.9,0.4,zarr[4]><0.85,0.5,zarr[5]><.1,1.4,zarr[6]+.35> } // lauta 4, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <0.9,0.4,zarr[3]><0.9,0.4,zarr[4]><0.85,0.5,zarr[5]><.1,1.4,zarr[6]+.35> <0.9,0.4,zarr[3]><0.9,0.4,zarr[4]><0.85,0.5,zarr[5]><.1,1.4,zarr[6]+.35> <0.8,0.4,zarr[3]><0.8,0.4,zarr[4]><.75,0.5,zarr[5]><.1,1.4,zarr[6]+.3> <0.8,0.4,zarr[3]><0.8,0.4,zarr[4]><.75,0.5,zarr[5]><.1,1.4,zarr[6]+.3> } // lauta 5 bicubic_patch { type 1 u_steps 0 v_steps 4 <0.8,0.4,zarr[3]><0.8,0.4,zarr[4]><.75,0.5,zarr[5]><.1,1.4,zarr[6]+.3> <0.8,0.4,zarr[3]><0.8,0.4,zarr[4]><.75,0.5,zarr[5]><.1,1.4,zarr[6]+.3> <0.5,0.3,zarr[3]><0.5,0.3,zarr[4]><0.4,0.4,zarr[5]><.1,1.2,zarr[6]-.15> <0.5,0.3,zarr[3]><0.5,0.3,zarr[4]><0.4,0.4,zarr[5]><.1,1.2,zarr[6]-.15> } // lauta 5, alaosa bicubic_patch { type 1 u_steps 0 v_steps 4 <0.5,0.3,zarr[3]><0.5,0.3,zarr[4]><0.4,0.4,zarr[5]><.1,1.2,zarr[6]-.15> <0.5,0.3,zarr[3]><0.5,0.3,zarr[4]><0.4,0.4,zarr[5]><.1,1.2,zarr[6]-.15> <0.4,0.3,zarr[3]><0.4,0.3,zarr[4]><0.3,0.4,zarr[5]><.1,1.2,zarr[6]-.2> <0.4,0.3,zarr[3]><0.4,0.3,zarr[4]><0.3,0.4,zarr[5]><.1,1.2,zarr[6]-.2> } // lauta 6 bicubic_patch { type 1 u_steps 0 v_steps 4 <0.4,0.3,zarr[3]><0.4,0.3,zarr[4]><0.3,0.4,zarr[5]><.1,1.2,zarr[6]-.2> <0.4,0.3,zarr[3]><0.4,0.3,zarr[4]><0.3,0.4,zarr[5]><.1,1.2,zarr[6]-.2> <0.1,.2,zarr[3]><0.1,.2,zarr[4]><0.1,.25,zarr[5]><.1,.9,zarr[6]-.7> <0.1,.2,zarr[3]><0.1,.2,zarr[4]><0.1,.25,zarr[5]><.1,.9,zarr[6]-.7> } // keel bicubic_patch { type 1 u_steps 0 v_steps 8 uv_vectors <1,0>,<0,0>,<0,1>,<1,1> <.09,3.4,zarr[6]+1.3><.1,.4,zarr[6]+1.4><.1,.4,zarr[5]+.4><0.1,.4,zarr[3]> <.09,3.4,zarr[6]+1.4><.1,.4,zarr[6]+1.5><.1,.3,zarr[5]+.4><0.1,.3,zarr[3]> <.09,3.4,zarr[6]+1.5><.1,0,zarr[6]+1.6><.1,.1,zarr[5]+.4><0.1,.1,zarr[3]> <.09,3.4,zarr[6]+1.6><.1,0,zarr[6]+1.7><.1,0,zarr[5]+.4><0.1,0,zarr[3]> } // railing bicubic_patch { type 1 u_steps 0 v_steps 4 uv_vectors <1,0>,<0,0>,<0,1>,<1,1> <3.0,2.0,zarr[3]><3.0,2.0,zarr[4]><2.7,2.1,zarr[5]><.1,3.2,zarr[6]+1.5> <2.95,2.0,zarr[3]><2.95,2.0,zarr[4]><2.65,2.1,zarr[5]><.1,3.2,zarr[6]+1.45> <2.85,2.0,zarr[3]><2.85,2.0,zarr[4]><2.55,2.1,zarr[5]><.1,3.2,zarr[6]+1.35> <2.8,2.0,zarr[3]><2.8,2.0,zarr[4]><2.5,2.1,zarr[5]><.1,3.2,zarr[6]+1.3> } } #declare asym_hull = union { // keel, bottom bicubic_patch { type 1 u_steps 0 v_steps 8 uv_vectors <1,0>,<0,0>,<0,1>,<1,1> <.09,3.4,zarr[6]+1.3><.1,.4,zarr[6]+1.4><.1,.4,zarr[5]+.4><0.1,0,zarr[3]> <.05,3.4,zarr[6]+1.3><.05,.4,zarr[6]+1.4><.05,.4,zarr[5]+.4><0.05,0,zarr[3]> <-.05,3.4,zarr[6]+1.3><-.05,.4,zarr[6]+1.4><-.05,.4,zarr[5]+.4><-.05,0,zarr[3]> <-.09,3.4,zarr[6]+1.3><-.1,.4,zarr[6]+1.4><-.1,.4,zarr[5]+.4><-.1,0,zarr[3]> uv_mapping } // keel, top bicubic_patch { type 1 u_steps 0 v_steps 8 uv_vectors <1,0>,<0,0>,<0,1>,<1,1> <.09,3.4,zarr[6]+1.6><.1,0,zarr[6]+1.7><.1,0,zarr[5]+.4><0.1,0,zarr[3]> <.05,3.4,zarr[6]+1.6><.05,0,zarr[6]+1.7><.05,0,zarr[5]+.4><0.05,0,zarr[3]> <-.05,3.4,zarr[6]+1.6><-.05,0,zarr[6]+1.7><-.05,0,zarr[5]+.4><-.05,0,zarr[3]> <-.09,3.4,zarr[6]+1.6><-.1,0,zarr[6]+1.7><-.1,0,zarr[5]+.4><-.1,0,zarr[3]> uv_mapping } // keel, cap bicubic_patch { type 1 u_steps 0 v_steps 8 uv_vectors <1,0>,<0,0>,<0,1>,<1,1> <.09,3.4,zarr[6]+1.6><.09,3.4,zarr[6]+1.5><.09,3.4,zarr[6]+1.4><.09,3.4,zarr[6]+1.3> <.05,3.4,zarr[6]+1.6><.05,3.4,zarr[6]+1.5><.05,3.4,zarr[6]+1.4><.05,3.4,zarr[6]+1.3> <-.05,3.4,zarr[6]+1.6><-.05,3.4,zarr[6]+1.5><-.05,3.4,zarr[6]+1.4><-.05,3.4,zarr[6]+1.3> <-.09,3.4,zarr[6]+1.6><-.09,3.4,zarr[6]+1.5><-.09,3.4,zarr[6]+1.4><-.09,3.4,zarr[6]+1.3> uv_mapping } } #declare naula = cone { <0,.05,0> 0 <0,0,0> .05 pigment { rgb .1 } finish { specular .3 } no_shadow } #declare naulat = union { object { naula rotate z*70 translate <1.0,2.7,9> } object { naula rotate z*70 translate <.9,2.4,9> } object { naula rotate z*70 translate <.8,2.2,9> } object { naula rotate z*70 translate <.65,1.85,9> } object { naula rotate z*70 translate <.5,1.6,9> } object { naula rotate z*70 translate <.3,1.3,9> } object { naula rotate z*70 translate <1.9,2.3,7> } object { naula rotate z*70 translate <1.8,2.0,7> } object { naula rotate z*60 translate <1.65,1.8,7> } object { naula rotate z*60 translate <1.4,1.4,7> } object { naula rotate z*60 translate <1.3,1.3,7> } object { naula rotate z*60 translate <1.0,1.0,7> } object { naula rotate z*60 translate <0.85,0.9,7> } object { naula rotate z*90 translate <2.5,2.1,5> } object { naula rotate z*70 translate <2.3,1.6,5> } object { naula rotate z*70 translate <2.1,1.3,5> } object { naula rotate z*70 translate <1.8,1.0,5> } object { naula rotate z*50 translate <1.6,0.8,5> } object { naula rotate z*40 translate <1.3,0.7,5> } object { naula rotate z*40 translate <0.6,0.4,5> } object { naula rotate z*90 translate <2.9,1.9,3> } object { naula rotate z*90 translate <2.7,1.5,3> } object { naula rotate z*70 translate <2.4,1.1,3> } object { naula rotate z*50 translate <2.0,.7,3> } object { naula rotate z*50 translate <1.5,.5,3> } object { naula rotate z*50 translate <1.1,.3,3> } object { naula rotate z*80 translate <2.4,1.8,3> } object { naula rotate z*70 translate <2.2,1.4,3> } object { naula rotate z*60 translate <1.9,1.0,3> } object { naula rotate z*50 translate <1.6,0.8,3> } object { naula rotate z*30 translate <1.0,0.7,3> } object { naula rotate z*30 translate <0.7,0.7,3> } } #declare vanteet = union { difference { cylinder { <0,4.5,8.9> <0,4.5,9.1> 3.1} cylinder { <0,4.5,8.8> <0,4.5,9.2> 2.95} plane { -y,-2.9 } scale <.3,1,1> } difference { cylinder { <0,4.0,6.9> <0,4.0,7.1> 3.2 } cylinder { <0,4.0,6.8> <0,4.0,7.2> 3.05 } plane { -y,-2.5 } scale <.6,1,1> } difference { cylinder { <0,3.3,4.9> <0,3.3,5.1> 2.6} cylinder { <0,3.3,4.8> <0,3.3,5.2> 2.45} plane { -y,-2.2 } } difference { cylinder { <0,3.5,2.9> <0,3.5,3.1> 3.1} cylinder { <0,3.5,2.8> <0,3.5,3.2> 2.95} plane { -y,-2.05 } } difference { cylinder { <0,2,.9> <0,2,1.1> 1.6} cylinder { <0,2,.8> <0,2,1.2> 1.45} plane { -y,-2.0 } scale <1.7,1,1> } box {<1.9,1,0><1.8,1.1,3.2>} box {<-1.9,1,0><-1.8,1.1,3.2>} box {<1.9,1.1,.15><-1.9,1.25,1.2>} intersection { union { box {<-1.6,1.1,4.5><-1,1.25,12> } box {<-.9,1.1,4.5><-.05,1.25,12> } box {<.9,1.1,4.5><.05,1.25,12> } box {<1.6,1.1,4.5><1,1.25,12> } box {<-2,0,0><2,-.25,.1> rotate x*5 translate <0,1.1,4.7>} rotate x*-5 } object {water_difference } } } union { union { object { hull } object { hull matrix <1,0,0,0,1,0,0,0,-1,0,0,0> } object { hull matrix <-1,0,0,0,1,0,0,0,1,0,0,0> } object { hull matrix <-1,0,0,0,1,0,0,0,-1,0,0,0> } object { vanteet } object { vanteet matrix <1,0,0,0,1,0,0,0,-1,0,0,0> } object { naulat } object { naulat matrix <1,0,0,0,1,0,0,0,-1,0,0,0> } object { naulat matrix <-1,0,0,0,1,0,0,0,1,0,0,0> } object { naulat matrix <-1,0,0,0,1,0,0,0,-1,0,0,0> } texture { uv_mapping pigment { p_hull } normal { granite .025 scale <1,.1,1> } finish { diffuse .6 brilliance 1 specular .1 roughness .2 } } } union { object { asym_hull } object { asym_hull matrix <1,0,0,0,1,0,0,0,-1,0,0,0> } texture { uv_mapping pigment { p_hull } normal { granite .025 scale <1,.1,1> } finish { diffuse .6 brilliance 1 specular .1 roughness .2 } } } }