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>
}