Okamoto's Homepage
「編隊」のシーンファイル
// Persistence of Vision Ray Tracer Scene Description File // Author: Noriaki Okamoto #include "colors.inc" #include "textures.inc" #include "skies.inc" #version unofficial MegaPov 0.5; global_settings { motion_blur 3, 45 } sky_sphere {S_Cloud1} camera { perspective location <2, 2, -2> up y*image_height right x*image_width angle 60 look_at <0.0, 0, 0.1> focal_point <0, 0.45, 0.1> aperture 0.2 blur_samples 1000 variance 1/128 } light_source { <50, 100, -200> rgb <1.0, 1.0, 1.0> } light_source { <50, 100, 200> rgb 0.5 } #declare doutaiTexture = texture { Brass_Valley } #declare mainwingTexture = texture { Tinny_Brass } #declare proTexture = texture { Aluminum } #declare cockTexture = texture { pigment { rgbf <0.8, 1, 0.95, 0.9> } } #declare cockTexture2 = texture { Gold_Nugget } plane { <0.0, 1.0, 0.0>, 0.0 texture { pigment { rgb <0.779995, 0.484627, 0.226215> } normal { bumps 0.5 scale 10 } } translate <0.0, -200, 0.0> } #declare hikohki = object { union { //胴体 difference { union { sphere { <0.0, 0.0, 0.0>, 0.5 texture { doutaiTexture } } //difference { cylinder { <0.0, -0.5, 0.0>, <0.0, 0.5, 0.0>, 0.5 texture { doutaiTexture } scale <1, 0.5, 1> rotate <90, 0, 0> translate <0, 0, 0.25> } //} merge { #declare i=1; #declare j=0.5; #while (i>0.5) sphere { <0.0, 0.0, 0.0>, 0.5 texture { doutaiTexture } scale i translate <0, 0, j> } #declare j=j+0.02; #declare i=i-0.008; #end } } union { difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { doutaiTexture } scale <0.75, 1.35, 1> translate <0, 0, 0.2> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { doutaiTexture } scale <1, 1, 1.5> translate <0.0, -0.5, 0.0> } } } } //主翼 union { difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { mainwingTexture } scale <3.6, 0.2, 0.9> rotate <0, -15, 0> translate <0, -0.05, 0.25> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { mainwingTexture } scale 2 translate <-1, 0, 0> } } difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { mainwingTexture } scale <3.6, 0.2, 0.9> rotate <0, 15, 0> translate <0, -0.05, 0.25> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { mainwingTexture } scale 2 translate <1, 0, 0> } } translate <0, -0.15, 0> } //垂直尾翼 difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { mainwingTexture } scale <0.1, 1.4, 0.5> rotate <15, 0, 0> translate <0.0, 0.0, 1.6> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { mainwingTexture } translate <0.0, -0.5, 1.6> } } //尾翼 difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { mainwingTexture } scale <1.6, 0.1, 0.6> rotate <0, -20, 0> translate <0.0, -0.1, 1.6> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { mainwingTexture } translate <-0.5, 0, 1.6> } translate <0, -0.08, 0> } difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { mainwingTexture } scale <1.6, 0.1, 0.6> rotate <0, 20, 0> translate <0.0, -0.1, 1.6> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { mainwingTexture } translate <0.5, 0, 1.6> } } //以下プロペラ sphere { <0.0, 0.0, 0.0>, 0.5 texture { proTexture } translate <0.0, 0.0, -0.5> scale 0.6 } sphere { <0.0, 0.0, 0.0>, 0.5 texture { proTexture } scale <0.3, 1.5, 0.3> rotate <90, 0, 0> translate <0, 0, -0> } //プロペラのはね1 motion_blur { union { difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { proTexture } scale <0.15, 1.3, 0.05> translate <0.0, 0.0, -0.64> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { proTexture } translate <0.0, -0.5, -0.5> } } difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { proTexture } scale <0.15, 1.3, 0.05> translate <0.0, 0.0, -0.64> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { proTexture } translate <0.0, -0.5, -0.5> } rotate <0, 0, -120> } difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { proTexture } scale <0.15, 1.3, 0.05> translate <0.0, 0.0, -0.64> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { proTexture } translate <0.0, -0.5, -0.5> } rotate <0, 0, 120> } } rotate clock*z } //コックピット difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { cockTexture } scale <0.75, 1.35, 1> translate <0, 0, 0.2> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { cockTexture } scale <1, 1, 1.5> translate <0.0, -0.5, 0.0> } } //コックピットのカバー difference { sphere { <0.0, 0.0, 0.0>, 0.5 texture { doutaiTexture } scale <0.8, 1.44, 1.0666666667> translate <0, 0, 0.2> } union { sphere { <0.0, 0.0, 0.0>, 0.5 texture { doutaiTexture } scale <0.75, 1.35, 1> translate <0, 0, 0.2> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { cockTexture } scale <1, 1, 2> translate <0.0, -0.25, 0.0> } box { <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5> texture { doutaiTexture } translate <0, 0.5, -0.4> } } } //目 sphere { <0.0, 0.0, 0.0>, 0.5 texture { pigment { gradient <0.0, 0.0, 1.0> color_map { [ 0.0 rgb <1.000000, 1.000000, 1.000000> ] [ 0.8 rgb <1.000000, 1.000000, 1.000000> ] [ 0.95 rgb <0.000000, 0.000000, 0.000000> ] [ 0.97 rgb <0.0, 0.0, 0.0> ] [ 0.98 rgb <0.000000, 0.308370, 0.499992> ] [ 1.0 rgb <0.000015, 0.533410, 0.800000> ] } scale 0.5 } } rotate <30, -36, 0> scale 0.3 translate <0, 0.45, 0.1> } } } object { hikohki } object { hikohki translate <-3, 0, 3> } object { hikohki translate <3, 0, 3> } object { hikohki translate <3, 3, -3> } object { hikohki translate <6, 3, -6> } object { hikohki translate <-6, 3, -6> }