// Eduardo Hideki Tanaka RA: 970563 // Quinto Exercicio - MC930 camera { location <5, .1, -60> //0, .1, -60 look_at 0 angle 40 } //plano que dá a impressão do céu plane { y, 500 texture { pigment { color rgb <0.1, 0.3, 0.85> } finish { ambient 1 diffuse 0} } texture { pigment { bozo turbulence .5 color_map { [0 color rgb <1, 1, 1>] [1 color rgb <1, 1, 1> filter 1] } } finish { ambient 1 diffuse 0 } scale <1000, 250, 250> rotate <5, 45, 0> } } light_source { <300, 300, -700> color rgb <1, 1, 1> } //plano que dá a impressão de chão plane { y, -12 texture { pigment { checker color rgb <0.2, 0.9, 0.1> color rgb <1, 1, 0.1> } } } //textura a ser usada pelos patches #declare tinta_patch = texture { pigment { color rgb < 0.60, 0.65, 0.05 > } finish { diffuse 0.8 specular 0.2 roughness 0.004 ambient 0.3 phong 1 reflection 0.35 } } //pontos do primeiro e segundo bicubic patch #declare A1 = <0, 2, 1>; #declare A2 = <-1, 0, 0>; #declare A3 = <-1, 0, -1>; #declare A4 = <0, -2, -2>; #declare A5 = <2, 3, 2>; #declare A6 = <2, 0, 0.5>; #declare A7 = <2, 0, -0.5>; #declare A8 = <2, -3, -3>; #declare A9 = <4, 3, 2>; #declare A10 = <4, 0, 0.5>; #declare A11 = <4, 0, -0.5>; #declare A12 = <4, -3, -3>; #declare A13 = <6, 3, 2>; #declare A14 = <6, 0, 0.5>; #declare A15 = <6, 0, -0.5>; #declare A16 = <6, -3, -3>; #declare B1 = <6, 3, 2>; #declare B2 = <6, 0, 0.5>; #declare B3 = <6, 0, -0.5>; #declare B4 = <6, -3, -3>; #declare B5 = <11, 5, 3>; #declare B6 = <10, 1, 0.5>; #declare B7 = <10, -1, -0.5>; #declare B8 = <11,-5, -4>; #declare B9 = <13, 5, 3.2>; #declare B10 = <12, 1.5, 0.5>; #declare B11 = <12, -1.5, -0.5>; #declare B12 = <13, -5, -4.2>; #declare B13 = <18, 4, 2.2>; #declare B14 = <14, 2, 0.5>; #declare B15 = <14, -3, -0.5>; #declare B16 = <18, -4, -3.2>; #declare patchA = bicubic_patch { type 1 flatness 0.1 u_steps 3 v_steps 3, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16 texture { tinta_patch } } #declare patchB = bicubic_patch { type 1 flatness 0.1 u_steps 3 v_steps 3, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16 texture { tinta_patch } } //apenas para ver os pontos de controle dos patches sphere { A1, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A2, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A3, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A4, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A5, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A6, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A7, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A8, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A9, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A10, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A11, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A12, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A13, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A14, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A15, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { A16, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B1, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B2, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B3, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B4, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B5, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B6, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B7, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B8, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B9, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B10, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B11, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B12, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B13, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B14, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B15, 0.1 texture { pigment { color rgb <1, 0, 0> } } } sphere { B16, 0.1 texture { pigment { color rgb <1, 0, 0> } } } //aqui esta a forma final union { object { patchA } object { patchB } translate <-3, 0, 0> }