home *** CD-ROM | disk | FTP | other *** search
- // Mike Williams
- // 111 Evering Road
- // LONDON N16 7SL
-
- #include "colors"
- #include "textures"
- #include "shapes"
- #declare Starry_Sky =
- texture
- { marble
- turbulence 1
- ambient 1
- diffuse 0
- colour_map
- { [0.0 0.97 colour Black colour Black]
- [0.97 1.01 colour Black colour White]
- }
- }
-
- camera {
- location <20 1 -40>
- direction <0 0 1.5> // FOV control
- up <0 1 0>
- right <1.25 0 0>
- look_at <0 0 0>
- rotate <0 0 30>
- }
-
- object { light_source { <-50 80 -50> color White }}
- object { light_source { < 50 90 -50> color White }}
-
- //Floor at -16
- object
- { plane {<0 1 0> -16 }
- rotate <0 0 50>
- texture { colour Gray60 }
- colour Tan
- }
-
- // Sky Sphere
- object
- { sphere {<0 0 0> 1000}
- texture { Starry_Sky }
- colour SkyBlue
- }
-
-
- //******************** HULL *********************
-
- object
- { difference
- { union
- { difference
- { sphere {<0 0 0> 5}
- box {<-5 -0.1 -5><5 0.1 5>}
- box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 30>}
- box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 60>}
- box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 90>}
- box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 120>}
- box {<-5 -0.1 -5><5 0.1 5> rotate <0 0 150>}
- }
- sphere {<0 0 0> 4.9}
- }
- intersection { Disk_Z scale <3 3 3> translate <0 0 -3>}
- }
- rotate <0 0 15>
- bounded_by {sphere {<0 0 0> 5.1}}
- texture {Chrome_Texture}
- }
-
- object
- { union
- { box { <-6 -1.5 -1.5> <6 1.5 1.5> }
- intersection {Disk_X scale <2.5 1 1> translate <-8.5 0 0>}
- intersection {Disk_X scale <2.5 1 1> translate < 8.5 0 0>}
- intersection {Disk_X scale <0.5 1.25 1.25> translate < 8.5 0 0>}
- intersection {Disk_X scale <0.5 1.25 1.25> translate <-8.5 0 0>}
- }
- bounded_by {box {<-11 -1.5 -1.5><11 1.5 1.5>}}
- texture {Chrome_Texture}
- }
-
- //************************* WINGS **************
-
- #declare WPart1 =
- intersection
- { box {<-6 0 -0.2><13 7 0.2>}
- plane {<-1 1 0> 10}
- plane {<7 13 0> 91}
- }
-
- #declare WPart2 =
- intersection
- { box {<0.6 0.6 -1><10 6 1>}
- plane {<7 13 0> 80}
- }
-
- #declare WPart3 =
- intersection
- { box {<-5.4 0.6 -1><-0.6 6.4 1>}
- plane {<-9 9 0> 81}
- }
-
- #declare WPart4 =
- union
- { triangle {<0 0 0><13 0 0><0 7 0>}
- triangle {<0 0 0><0 7 0><-3 7 0>}
- triangle {<0 0 0><-3 7 0><-6 4 0>}
- triangle {<0 0 0><-6 4 0><-6 0 0>}
- }
-
- #declare WPart123 =
- difference
- { intersection {WPart1}
- intersection {WPart2}
- intersection {WPart3}
- }
-
- #declare Blade =
- composite
- { object
- { intersection {WPart123}
- texture {colour Gray70}
- bounded_by { box {<-6 0 -0.2><13 7 0.2>}}
- colour Gray70
- }
- object
- {union {WPart4}
- texture {colour Gray20}
- bounded_by { box {<-6 0 -0.2><13 7 0.2>}}
- colour Gray20
- }
- }
-
- #declare WPart5 =
- object
- { difference
- { box {<-6 -3 -0.2><0 3 0.2>}
- box {<-5 1 -1><-1 2 1>}
- box {<-5 -2 -1><-1 -1 1>}
- }
- texture {colour Gray70}
- bounded_by { box {<-6 -3 -0.2><0 3 0.2>}}
- colour Gray70
- }
-
- #declare WPart6 =
- object
- { box {<-6 -3 -0.1><0 3 0.1>}
- texture {colour Gray20}
- colour Gray20
- }
-
- #declare WPart56 =
- composite
- { object {WPart5}
- object {WPart6}
- }
-
-
- #declare Wing =
- composite
- { composite {WPart56}
- composite {Blade rotate <-30 0 0> translate <0 3 0>}
- composite {Blade rotate <-150 0 0> translate <0 -3 0>}
- }
-
- composite {Wing rotate <0 90 0> translate <11 0 0>}
- composite {Wing rotate <0 0 180> rotate <0 -90 0> translate <-11 0 0>}
-
-
-
- //*************** Window **************
-
- #declare Window = intersection {
- box {<-1.5 0 -1.5> <1.5 1.1 1.5>}
- plane { <1 0 0> 1 rotate <0 0 40> }
- plane { <-1 0 0> 1 rotate <0 0 -40>}
- plane { <0 0 1> 1 rotate <-40 0 0>}
- plane { <0 0 -1> 1 rotate <40 0 0>}
- plane { <1 0 0> 1 rotate <0 0 40> rotate <0 45 0>}
- plane { <-1 0 0> 1 rotate <0 0 -40> rotate <0 45 0>}
- plane { <0 0 1> 1 rotate <-40 0 0> rotate <0 45 0>}
- plane { <0 0 -1> 1 rotate <40 0 0> rotate <0 45 0>}
- plane { <0 -1 0> 0 }
- }
-
- object
- { intersection {Window }
- bounded_by {box {<-1.5 0 -1.5> <1.5 1.4 1.5>}}
- rotate <-90 0 0> scale <3 3 1.5> translate <0 0 -3.4>
- clipped_by {intersection { Disk_Z scale <3 3 3> translate <0 0 -4>}}
-
- texture {colour Gray70 alpha 0.7 phong 1}
- colour Yellow
- }
-
- //*********** Lasers *********************
-
- object
- { intersection { Disk_Z }
- scale <0.2 0.2 2>
- translate <-2 -4 -2>
- texture {Chrome_Texture}
- colour Green
- }
- object
- { intersection { Disk_Z }
- scale <0.2 0.2 2>
- translate <2 -4 -2>
- texture {Chrome_Texture}
- colour Green
- }
-
- object
- { intersection {Disk_Z}
- scale <0.1 0.1 100>
- translate <-2 -4 -100>
- texture {colour red 1 green 0.5 blue 0.5 alpha 0.9
- ambient 3 diffuse 0}
- colour Red
- no_shadow
- }
-
- object
- { intersection {Disk_Z}
- scale <0.1 0.1 100>
- translate <2 -4 -100>
- texture {colour red 1 green 0.5 blue 0.5 alpha 0.9
- ambient 3 diffuse 0}
- colour Red
- no_shadow
- }
-
-
-
-