home *** CD-ROM | disk | FTP | other *** search
- // Mike Williams
- // 111 Evering Road
- // LONDON N16 7SL
-
- #include "colors"
- #include "textures"
- #include "shapes"
- #default { texture { phong 1 phong_size 50 ambient 0.5 diffuse 0.5}}
-
- #declare C521 = colour red 1 green 0.4 blue 0.2
- #declare C522 = colour red 1 green 0.4 blue 0.4
- #declare C532 = colour red 1 green 0.6 blue 0.4
- #declare C533 = colour red 1 green 0.6 blue 0.6
-
- #declare Cheek = texture
- { wood
- colour_map {
- [0.0 0.2 colour C521 colour C521]
- [0.2 0.3 colour C521 colour C533]
- [0.3 1.0 colour C533 colour C533]
- }
-
- scale <2.5 2.5 2.5>
- translate <-0.3 -0.3 0>
- }
-
- #declare EyeTex = texture
- { onion
- colour_map {
- [0.00 0.08 colour Black colour Black]
- [0.08 0.26 colour SkyBlue colour SlateBlue]
- [0.26 1.00 colour White colour White]
- }
- scale <2.1 2.1 2.1>
- translate <-1 0 0>
- }
-
- #declare Skull_1 = object
- { union
- { quadric {Ellipsoid scale <0.8 1 0.8>}
- quadric {Ellipsoid scale <0.4 0.3 0.3>
- translate <-0.8 0 0>}
- }
- texture {Cheek}
- colour C533
- }
-
- #declare Eye_1 = object
- { sphere {<0 0 0> 1}
- texture {EyeTex}
- scale <0.2 0.2 0.2>
- colour White
- }
-
- #declare Hat_1 =object
- { intersection
- { quadric { QCone_Y translate <0 1 0>}
- box { <-2 -1 -2> <2 -0.6 2> }
- scale <.5 -1 .5>
- }
- texture {colour Navy}
- colour Navy
- }
-
- #declare Peak_1 =object
- { intersection
- { quadric { QCone_Y translate <0 1 0>}
- box { <-2 -1 -2> <2 -0.6 2> }
- scale <.5 1 .5>
- translate <0 1.2 0>
- }
- clipped_by {sphere {<-1 1.6 0> 1.4}}
- texture {colour Navy}
- colour Red
- }
-
- #declare Tash_1 = object
- { union
- { intersection {Disk_Y scale <0.1 0.3 0.1> translate <-0.8 -0.3 0> rotate < 30 0 0>}
- intersection {Disk_Y scale <0.1 0.3 0.1> translate <-0.8 -0.3 0> rotate < 15 0 0>}
- intersection {Disk_Y scale <0.1 0.3 0.1> translate <-0.8 -0.3 0> rotate < 0 0 0>}
- intersection {Disk_Y scale <0.1 0.3 0.1> translate <-0.8 -0.3 0> rotate <-15 0 0>}
- intersection {Disk_Y scale <0.1 0.3 0.1> translate <-0.8 -0.3 0> rotate <-30 0 0>}
- }
- texture {colour Black}
- colour Black
- }
-
- #declare Torso_1 = object
- { quadric {Ellipsoid scale <1.1 1.2 1.1> translate <0 -1.8 0>}
- texture {colour Navy}
- colour Navy
- }
-
- #declare Legs_1 = object
- { intersection {Disk_Y scale <0.7 2 0.7> translate <0 -4 0>}
- texture {colour Black}
- colour Red
- }
-
- #declare Sleeve_1 = object
- { union
- { sphere {<0 0 0> 0.35}
- intersection {Disk_Y scale <0.35 1 0.35> translate <0 -1 0>}
- }
- texture {colour Navy}
- colour Navy
- }
-
- #declare Cuff_1 = object
- { intersection {Disk_Y scale <0.4 0.2 0.4> translate <0 -1.9 0>}
- texture {colour White}
- colour White
- }
-
- #declare Hand_1 = object
- { sphere {<0 -2.2 0> 0.3}
- texture {colour C533}
- colour C533
- }
-
- #declare Flag = composite
- { object
- { intersection {Disk_X scale <1.4 0.1 0.1>
- translate <-1.4 -2.2 0>}
- texture {colour Tan}
- colour Tan
- }
- object
- { box {<-2.8 -2.2 -0.05><-1 0 0.05>}
- texture {colour Green}
- colour Green
- }
- }
-
- #declare Head_1 = composite
- { object {Skull_1}
- object {Eye_1 translate <-0.55 0.3 0.3>}
- object {Eye_1 translate <-0.55 0.3 -0.3>}
- object {Tash_1}
- object {Hat_1 scale <.92 .92 .92> rotate <0 0 -10>}
- object {Peak_1 scale <.92 .92 .92> rotate <0 0 -10>}
- bounded_by {sphere {<0 0 0> 1.3}}
- }
-
- #declare Body_1 = composite
- { object {Torso_1}
- object {Legs_1}
- }
-
- #declare Arm_1 = composite
- { object {Sleeve_1}
- object {Cuff_1}
- object {Hand_1}
- }
-
- #declare Railway_Guard = composite
- { composite {Head_1}
- composite {Body_1}
- composite {Arm_1 rotate <0 0 -45> translate <0 -1.8 -1.1>}
- composite {Arm_1 rotate <0 0 -135> translate <0 -1.8 1.1>}
- composite {Flag rotate <0 0 -135> translate <0 -1.8 1.1>}
- // move up so he stands on floor Z=0
- translate <0 4.4 0>
- bounded_by {box {<-3 0 -3><3 8 3>}}
- }
-
- #declare EyeTex2 = texture
- { onion
- colour_map {
- [0.00 0.08 colour Black colour Black]
- [0.08 0.26 colour SkyBlue colour Blue]
- [0.26 1.00 colour White colour White]
- }
- scale <2.1 2.1 2.1>
- translate <-1 0 0>
- }
-
- #declare Skull_2 = object
- { union
- { difference
- { sphere {<0 0 0> 1}
- intersection {Disk_X scale <0.3 0.15 0.15>
- translate <-1 -0.4 0>}
- }
- intersection {Disk_X scale <0.3 0.2 0.2> translate <-1 0 0>}
- }
- texture {Cheek}
- colour C533
- }
-
- #declare Eye_2 = object
- { sphere {<0 0 0> 1}
- texture {EyeTex2}
- scale <0.2 0.2 0.2>
- colour White
- }
-
- #declare Hair_2 =object
- { union
- { intersection {Disk_X scale <.6 .4 .4> translate <0 1 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate <-40 0 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate <-80 0 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate < 40 0 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate < 80 0 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate <120 0 0>}
- intersection {Disk_X scale <.6 .4 .4> translate <0 1 0> rotate <-120 0 0>}
- }
- texture {colour Yellow}
- colour Yellow
- }
-
- #declare Torso_2 = object
- { quadric {Ellipsoid scale <1.1 1.2 1.1> translate <0 -1.8 0>}
- texture {colour NeonBlue}
- colour NeonBlue
- }
-
- #declare Legs_2 = object
- { quadric {Paraboloid_Y scale <1 -1 1> translate <0 -1.7 0>}
- texture {colour NeonBlue bumps 1 scale <0.2 2 0.2>}
- colour NeonBlue
- }
-
- #declare Apron_2 = object
- { intersection
- { quadric {Paraboloid_Y scale <1.15 -1.15 1.15> translate <0 -1.7 0>}
- box {<-3 -4 -0.9 ><0 -2 0.9>}
- }
- texture {colour White}
- colour White
- }
-
- #declare Sleeve_2 = object
- { union
- { sphere {<0 0 0> 0.3}
- intersection {Disk_Y scale <0.3 1 0.3> translate <0 -1 0>}
- }
- texture {colour C533}
- colour C533
- }
-
- #declare Hand_2 = object
- { sphere {<0 -2.2 0> 0.4}
- texture {colour C533}
- colour C533
- }
-
- #declare Head_2 = composite
- { object {Skull_2}
- object {Eye_2 translate <-0.8 0.3 0.3>}
- object {Eye_2 translate <-0.8 0.3 -0.3>}
- object {Hair_2}
- bounded_by {sphere {<0 0 0> 1.6}}
- }
-
- #declare Body_2 = composite
- { object {Torso_2}
- object {Legs_2}
- object {Apron_2}
- }
-
- #declare Arm_2 = composite
- { object {Sleeve_2}
- object {Hand_2}
- }
-
- #declare Mrs_Biggins = composite
- { composite {Head_2}
- composite {Body_2}
- composite {Arm_2 scale <.9 .9 .9> rotate <15 0 0> translate <0 -1.8 -1.1>}
- composite {Arm_2 scale <.9 .9 .9> rotate <15 0 -60> translate <0 -1.8 1.1>}
- // move up so she stands on floor Z=0
- translate <0 4.8 0>
- bounded_by {box{<-3 0 -3><3 9 3>}}
- }
-
- #declare Skull_3 = object
- { union
- { difference
- { sphere {<0 0 0> 1}
- intersection {Disk_X scale <0.3 0.15 0.25>
- translate <-1 -0.4 0>}
- }
- quadric {Ellipsoid scale <0.3 0.2 0.2>
- translate <-1 0.4 0>
- rotate <0 0 30>}
- }
- texture {Cheek}
- colour C533
- }
-
- #declare Cap = object
- { intersection
- { sphere {<0 0 0> 1.05}
- plane {<0 -1 0> -0.5}
- }
- texture {colour MediumForestGreen}
- colour MediumForestGreen
- }
-
- #declare Peak_3 = object
- { plane {<0 1 0> 0.5}
- clipped_by {sphere {<-0.4 0 0> 1}}
- texture {colour MediumForestGreen}
- colour MediumForestGreen
- }
-
- #declare Torso_3 = object
- { intersection {Disk_Y scale <0.8 0.8 1> translate <0 -1.6 0>}
- texture {colour MediumForestGreen}
- colour MediumForestGreen
- }
-
- #declare Pants_3 = object
- { union
- { intersection {Disk_Y scale <0.55 0.6 0.55> translate <0 -2.8 -0.4>}
- intersection {Disk_Y scale <0.55 0.6 0.55> translate <0 -2.8 0.4>}
- }
- texture {colour Gray30}
- colour Gray30
- }
-
- #declare Legs_3 = object
- { union
- { intersection {Disk_Y scale <0.3 0.6 0.3> translate <0 -3.8 -0.4>}
- intersection {Disk_Y scale <0.3 0.6 0.3> translate <0 -3.8 0.4>}
- }
- texture {colour C533}
- colour C533
- }
-
- #declare Shoes_3 = object
- { union
- { quadric {Ellipsoid scale <0.8 0.5 0.5> translate <-0.2 -4.4 -0.4>}
- quadric {Ellipsoid scale <0.8 0.5 0.5> translate <-0.2 -4.4 0.4>}
- }
- texture {colour Gray15}
- colour Gray15
- }
-
- #declare Sleeve_3 = object
- { union
- { sphere {<0 0 0> 0.3}
- intersection {Disk_Y scale <0.3 0.5 0.3> translate <0 -0.5 0>}
- }
- texture {colour MediumForestGreen}
- colour MediumForestGreen
- }
-
- #declare Hand_3 = object
- { union
- { sphere {<0 -1.8 0> 0.3}
- intersection {Disk_Y scale <0.2 1 0.2> translate <0 -1 0>}
- }
- texture {colour C533}
- colour C533
- }
-
- #declare Head_3 = composite
- { object {Skull_3}
- object {Eye_2 translate <-0.8 0.3 0.3>}
- object {Eye_2 translate <-0.8 0.3 -0.3>}
- object {Cap rotate <0 0 -10>}
- object {Peak_3 rotate <0 0 -10>}
- bounded_by {sphere {<0 0 0> 1.6}}
- }
-
- #declare Body_3 = composite
- { object {Torso_3}
- object {Pants_3}
- object {Legs_3}
- object {Shoes_3}
- }
-
- #declare Arm_3 = composite
- { object {Sleeve_3}
- object {Hand_3}
- }
-
- #declare Billy_Biggins = composite
- { composite {Head_3}
- composite {Body_3}
- composite {Arm_3 scale <.9 .9 .9> rotate <15 0 -100> translate <0 -1.2 -1.1>}
- composite {Arm_3 scale <.9 .9 .9> rotate <-15 0 -0> translate <0 -1.2 1.1>}
- // move up so he stands on floor Z=0
- translate <0 4.4 0>
- bounded_by {box {<-2 0 -2> <2 5.5 2>}}
- }
-
-
- camera {
- location <-15 3 -22>
- direction <0 0 4.8>
- up <0 1 0>
- right <1.25 0 0>
- look_at <0 1.3 0>
- }
-
- object { light_source { <-50 100 -50> color White }}
- object { light_source { < 50 100 -50> color White }}
-
- //Floor
- object
- { plane {<0 1 0> -1 }
- texture { granite scale <0.3 0.3 0.3>}
- colour Gray40
- }
-
- //Platform
- object
- { box {<-7 -1 -2><7 0 2>}
- texture {colour Gray30}
- colour Gray30
- }
-
- //Platform Edge
- object
- { box {<-7 -0.2 -2.4><7 0.05 -1.6>}
- texture {colour White}
- colour White
- }
-
- //Back fence
- object
- { box {<-7 -1 2> <7 3 2.2>}
- texture
- { gradient <1 0 0>
- turbulence 0.1
- colour_map
- { [0 0.05 colour Gray50 colour Gray50]
- [0.05 1 colour White colour White]
- }
- }
- colour White
- }
-
- // rails
- object
- { union
- { box {<-7 -0.8 -2.6> <7 -0.7 -2.5>}
- box {<-7 -0.8 -3.6> <7 -0.7 -3.5>}
- }
- texture {colour White}
- colour White
- }
-
- // sleepers
- object
- { union
- { box {<-7 -1 -3.8><-6 -0.8 -2.3>}
- box {<-5 -1 -3.8><-4 -0.8 -2.3>}
- box {<-3 -1 -3.8><-2 -0.8 -2.3>}
- box {<-1 -1 -3.8>< 0 -0.8 -2.3>}
- box {< 1 -1 -3.8>< 2 -0.8 -2.3>}
- box {< 3 -1 -3.8>< 4 -0.8 -2.3>}
- box {< 5 -1 -3.8>< 6 -0.8 -2.3>}
- }
- texture {colour Black}
- colour Black
- }
-
-
- composite {Mrs_Biggins
- scale <0.5 0.5 0.5>
- rotate <0 -10 0>
- translate <3 0 0>
- }
-
- composite {Billy_Biggins
- scale <0.3 0.3 0.3>
- rotate <0 -100 0>
- translate <1 0 0>
- }
-
- composite {Railway_Guard
- scale <0.5 0.5 0.5>
- rotate <0 0 0>
- translate <-2.4 0 0>
- }
-
-