home *** CD-ROM | disk | FTP | other *** search
- // Persistence of Vision Raytracer
- #include "colors.inc"
- #include "textures.inc"
- #include "shapes.inc"
- #include "shapesq.inc"
-
-
-
- #declare Felge=object{
- union {
- intersection {
- quadric {Cylinder_X scale <1 4.8 4.8>}
- quadric {Cylinder_X scale <1 4.7 4.7> inverse}
- plane {<1 0 0> -3.2 inverse}
- plane {<1 0 0> 3.2}
- }
- intersection {
- quadric {Cylinder_X scale <1 4.7 4.7>}
- plane {<1 0 0> -1 inverse}
- plane {<1 0 0> 1}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <0 0 0> inverse}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <60 0 0> inverse}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <120 0 0> inverse}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <180 0 0> inverse}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <240 0 0> inverse}
- quadric {Cylinder_X scale <1 2 1> translate <0 3 0> rotate <300 0 0> inverse}
-
- }
- intersection {Disk_X scale <.5 .1 .1>}
- }
- texture {Gold_Metal}
- }
-
-
-
- #declare Pneu=object{
- intersection {
- quartic {Torus_40_12 rotate <0 0 90>}
- quadric {Cylinder_X scale <1 8.6 8.6>}
- quadric {Cylinder_X scale <1 4.8 4.8> inverse}
- }
- texture {Dull color Gray05}
- texture {image_map { < 0 -1.0 1.0 > gif "goodyear.gif"
- alpha 2 1
- interpolate 2.0
- once}
- translate <0 -.5 -.5> scale <14 14 14>}
-
- }
-
- #declare Kissen=quartic {
- < 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
- 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
- 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
- 1.0 0.0 0.0 0.0 -1000.0 >
- }
-
- camera {
- location <13 10 4>
- direction <0.0 0.0 2.0>
- up <0.0 1.0 0.0>
- right <1.333 0.0 0.0>
- look_at <0 0 0>
- }
-
- /* Sonne */
- object {
- light_source {<-30.0 100.0 -90.0>
- colour White
- }
- }
-
- /*Spotlight1*/
- object{
- light_source {<-50 50 -50>
- color White
- spotlight
- point_at <0 0 0>
- tightness 50
- radius 4
- falloff 9
- }
- }
- /*Spotlight2*/
- object{
- light_source {<10 20 10>
- color White
- spotlight
- point_at <1.5 .5 -4>
- tightness 50
- radius 6
- falloff 12
- }
- }
-
-
- /* Boden */
-
- /*object {
- sphere {<0 -100.774 0> 100}
- texture {Dull color Black}
- }*/
-
- /*K÷rper*/
-
- composite{
- object{
- union{
-
- /* Vorderteil*/
- intersection {
- quadric {Paraboloid_Z scale <2.3 3 50> rotate <-5 0 0> translate <0 0 -5>}
- quadric {Cylinder_Y scale <.45 1 .45> translate <0 0 -1.5> inverse}
- box {<-.45 -2 -1.5> <.45 2 1> inverse}
- box {<-1 .89 -1.5> <1 4 1> inverse}
- box {<-1 -.45 -3> <1 0 -2.2> inverse}
- plane {<1 0 0> .6 rotate <0 0 8>}
- plane {<1 0 0> -.6 rotate <0 0 -8> inverse}
- plane {<0 0 1> 0 }
- plane {<0 1 0> -.25 inverse}
- }
-
- /*Windschutz*/
- intersection {
- quadric {Paraboloid_Z scale <2.3 3 50> rotate <-12 0 0> translate <0 0 -4.1>}
- quadric {Cylinder_Y scale <.45 1 .45> translate <0 0 -1.5> inverse}
- box {<-.45 -2 -1.5> <.45 2 1> inverse}
- box {<-1 .89 -1.55> <1 4 1> inverse}
- box {<-1 -.45 -3> <1 0 -2.2> inverse}
- plane {<1 0 0> .6 rotate <0 0 8>}
- plane {<1 0 0> -.6 rotate <0 0 -8> inverse}
- plane {<0 0 1> 0 }
- plane {<0 1 0> -.25 inverse}
- }
-
- /* Boden */
-
- box {<-.6 -.25 -2.2> <.6 .2 1> }
-
-
- /*Heck*/
- intersection{
- quadric {Paraboloid_Z scale <.18 .6 .5> rotate <-6 180 0> translate <0 -.7 5>}
- quadric {Ellipsoid scale <1.2 5 10> translate <0 -3.3 -1>}
- plane {<0 0 1> 0 inverse}
- plane {<0 1 0> -.25 inverse}
- plane {<0 0 1> 3 rotate <-4 0 0>}
- plane {<1 0 0> .65 rotate <0 0 8>}
- plane {<1 0 0> -.65 rotate <0 0 -8> inverse}
- quadric {Cylinder_Y scale <.07 1 .1> translate <.27 1.3 2.6> rotate <-35 0 0> inverse}
- quadric {Cylinder_Y scale <.07 1 .1> translate <-.27 1.3 2.6> rotate <-35 0 0> inverse}
- }
- intersection{
- quadric {Paraboloid_Z scale <.2 .6 .5> rotate <-6 180 0> translate <0 -.7 5>}
- quadric {Paraboloid_Z scale <.19 .59 .49> rotate <-8 180 0> translate <0 -1 5> inverse}
- plane {<0 0 1> 3 rotate <-4 0 0>}
- plane {<0 1 0> -.25 inverse}
- plane {<0 0 1> 2.7 rotate <-2 0 0> inverse}
- }
- }
- texture {Metal color Blue}
- texture { image_map{ <1 0 -1>gif "one.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <.7 1 .8>
- rotate <0 0 0>
- translate <0 0 -3.5>}
-
- texture { image_map{ <1 0 -1>gif "marlb.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <.7 1 .3>
- rotate <0 0 0>
- translate <0 0 -2.7>}
-
- texture { image_map{ <1 0 -1>gif "granini.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <3.2 3.2 1.1>
- rotate <0 0 0>
- translate <0 0 -4.3>}
-
-
- }
-
- /*Lufteinla▀*/
-
- object{
- intersection{
- quadric {Cylinder_X scale <10 7.7 9> translate <0 -7 2>}
- plane {<0 0 1> -.5 rotate <6 0 0> inverse}
- plane {<0 0 1> 4}
- plane {<0 1 0> -.25 inverse}
- box {<-.5 -2 -1.5> <.5 2 1> inverse}
- quadric {Cylinder_Y scale <12 1 8> translate <-10.3 0 1>}
- quadric {Cylinder_Y scale <12 1 8> translate <10.3 0 1>}
- quadric {Cylinder_Y scale <3.2 3 3.5> translate <4.05 0 4> inverse}
- quadric {Cylinder_Y scale <3.2 3 3.5> translate <-4.05 0 4> inverse}
- box {<-1.25 -.2 -1.5> <1.25 .4 1> inverse}
- box {<-2 -1 2.5> <2 0 6> inverse}
- box {<-.4 -.5 3.5> <.4 .4 6> inverse}
- quadric {Cylinder_X scale <10 8 15> translate <0 8.4 5> inverse}
- /*Schlitze*/
- box {<-1.3 -1 2> <1.3 2 2.1> rotate <-15 0 0> inverse}
- box {<-1.25 -1 2.2> <1.25 2 2.3> rotate <-15 0 0> inverse}
- box {<-1.15 -1 2.4> <1.15 2 2.5> rotate <-15 0 0> inverse}
- box {<-1.05 -1 2.6> <1.05 2 2.7> rotate <-15 0 0> inverse}
- box {<-.95 -1 2.8> <.95 2 2.9> rotate <-15 0 0> inverse}
- box {<-.85 -1 3> <.85 2 3.1> rotate <-15 0 0> inverse}
- box {<-.75 -1 3.2> <.75 2 3.3> rotate <-15 0 0> inverse}
- }
- texture {Gold_Metal}
- texture { image_map{ <1 0 -1>gif "visa.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <.7 .7 .4>
- rotate <0 0 0>
- translate <-1 0 0>}
- texture { image_map{ <1 0 -1>gif "visa.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <.5 .5 .3>
- rotate <0 0 0>
- translate <1 0 0>}
-
- }
-
- /*Sitz*/
- object {
- union {
- quartic {Kissen
- scale <0.07 0.02 0.1>
- rotate <10 0 0>
- translate <0 .2 -.6>
- }
- quartic {Kissen
- scale <0.07 0.02 0.08>
- rotate <-80 0 0>
- translate <0 .75 -.1>
- }
- }
- texture {Dull color Gray70}
- }
-
- /*Steuer*/
-
- composite {
- object {
- intersection {
- quartic {Torus_40_12 scale <1 .5 1>}
- quartic {Torus_40_12 scale <.5 .5 .5>}
-
- }
- texture {Dull color Gray50}
- }
- object {
- intersection {
- quadric {Cylinder_Y scale <3 .7 3>}
- plane {<0 1 0> -.5 inverse}
- plane {<0 1 0> .5}
- quadric {Cylinder_Y scale <5 1 7> translate <0 0 8> rotate <0 0 0> inverse}
- quadric {Cylinder_Y scale <5 1 7> translate <0 0 8> rotate <0 120 0> inverse}
- quadric {Cylinder_Y scale <5 1 7> translate <0 0 8> rotate <0 240 0> inverse}
- }
- texture {color Red}
- }
-
- scale <0.04 0.03 0.04>
- rotate <60 0 0>
- translate <0 .85 -1.8>
- }
-
- /*Spiegel*/
- /*links*/
- object {
- union {
- intersection {
- quadric {Paraboloid_Z scale <.75 .5 1>}
- plane {<0 0 1> 1}
- }
- intersection {Disk_X scale <.5 .1 .2> translate <-1.2 0 .8>
- }
- }
- texture { Chrome_Metal color Blue}
- scale <.2 .2 .2>
- rotate <-7 0 0>
- translate <.8 .8 -2>
- }
-
- /*rechts*/
- object {
- union {
- intersection {
- quadric {Paraboloid_Z scale <.75 .5 1>}
- plane {<0 0 1> 1}
- }
- intersection {Disk_X scale <.5 .1 .2> translate <1.2 0 .8>
- }
- }
- texture { Chrome_Metal color Blue}
- scale <.2 .2 .2>
- rotate <-7 0 0>
- translate <-.8 .8 -2>
- }
-
-
- /*Frontspoiler*/
-
- object {
- union {
- box {<-1.3 -.25 -4.7> <1.3 -.2 -4>}
- box {<-1.3 -.25 -4.2> <1.3 -.2 -3.9> rotate <-15 0 0> translate <0 1.1 0>}
-
- intersection {
- box {<-.015 -.27 -4.8> <.015 .4 -3.7>}
- plane {<0 1 0> 0 rotate <-12 0 0> translate <0 0 -4>}
- translate <-1.315 0 0>
- }
- intersection {
- box {<-.015 -.27 -4.8> <.015 .4 -3.7>}
- plane {<0 1 0> 0 rotate <-12 0 0> translate <0 0 -4>}
- translate <1.315 0 0>
- }
-
- }
-
- texture{Gold_Metal}
- texture { image_map{ <1 0 -1>gif "granini.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <3.2 3.2 1.1>
- rotate <0 0 0>
- translate <0 0 -4.3>}
- }
-
- /*Heckspoiler*/
-
- object {
- union {
- intersection {
- quadric {Cylinder_Y scale <.1 1 .5> rotate <18 0 0> translate <0 0 3.2>}
- plane {<0 1 0> .6 inverse}
- plane {<0 1 0> 1.7}
- }
-
- box {<-1 1.7 3.2> <1 1.75 4.5>}
- box {<-1 -.1 4.7> <1 .1 5.35> rotate <-21 0 0>}
- box {<-1 1.2 3.2> <1 1.25 4.5>}
-
- intersection {
- box {<-1.02 .7 2> <-1 2.1 5>}
- plane {<0 0 1> 5 rotate <15 0 0>}
- plane {<0 0 1> 3.5 rotate <-20 0 0> inverse}
- plane {<0 0 1> 1.75 rotate <30 0 0> inverse}
- }
-
- intersection {
- box {<1 .7 2> <1.02 2.1 5>}
- plane {<0 0 1> 5 rotate <15 0 0>}
- plane {<0 0 1> 3.5 rotate <-20 0 0> inverse}
- plane {<0 0 1> 1.75 rotate <30 0 0> inverse}
- }
-
- }
- texture {Gold_Metal}
- texture { image_map{ <1 0 -1>gif "flag.gif"
- alpha 15 1
- interpolate 2
- once}
- translate <-.5 0 -.5>
- scale <2 1 2>
- rotate <0 0 0>
- translate <0 0 4.1>}
-
- translate <0 -.3 0>
- }
-
- /*Vorderachse*/
-
- /*links*/
- object {
- union {
- intersection {
- union {
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -12 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 12 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -12 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 12 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 0 -25> translate <0 -.1 0>}
- }
- plane {<1 0 0> -1.3 inverse}
- plane {<1 0 0> -.01}
- }
- sphere{<0 0 0> .1}
- }
- texture {Silver_Metal}
- translate <1.6 -.172 -2.6>
- }
-
- /*rechts*/
- object {
- union {
- intersection {
- union {
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -12 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 12 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -12 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 12 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 0 25> translate <0 -.1 0>}
- }
- plane {<1 0 0> 1.3}
- plane {<1 0 0> .01 inverse}
- }
- sphere{<0 0 0> .1}
- }
- texture {Silver_Metal}
- translate <-1.6 -.172 -2.6>
- }
-
- /*Hinterachse*/
-
- object {
- intersection {Disk_X scale <1.8 .07 0.07> translate <0 .0 3.5>}
- texture {color Blue}
- }
-
- /*links*/
- object {
- union {
- intersection {
- union {
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -40 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 15 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -40 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 15 0> translate <0 -.1 0>}
- }
- plane {<1 0 0> -.7 inverse}
- plane {<1 0 0> -.01}
- }
- intersection {Disk_X scale <.07 .15 .15>}
- }
- texture {Silver_Metal}
- translate <1.6 .0 3.5>
- }
-
- /*rechts*/
- object {
- union {
- intersection {
- union {
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -15 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 40 0> translate <0 .1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 -15 0> translate <0 -.1 0>}
- quadric {Cylinder_X scale <.025 .025 .025> rotate <0 40 0> translate <0 -.1 0>}
- }
- plane {<1 0 0> .7}
- plane {<1 0 0> .01 inverse}
- }
- intersection {Disk_X scale <.07 .15 .15>}
- }
- texture {Silver_Metal}
- translate <-1.6 .0 3.5>
- }
-
- /*RΣder*/
-
- /*HL*/
-
- composite {
- object {Felge}
- object {Pneu}
- scale <.17 .09 .09>
- rotate <-12 0 0>
- translate <1.8 0 3.5>
-
- }
-
- /*HR*/
-
- composite {
- object {Felge}
- object {Pneu}
- scale <.17 .09 .09>
- rotate <70 0 0>
- translate <-1.8 0 3.5>
-
- }
-
- /*VL*/
-
- composite {
- object {Felge}
- object {Pneu}
- scale <.11 .07 .07>
- rotate <50 -30 0>
- translate <1.8 -.172 -2.6>
-
- }
-
- /*VR*/
-
- composite {
- object {Felge}
- object {Pneu}
- scale <.11 .07 .07>
- rotate <30 -28 0>
- translate <-1.8 -.172 -2.6>
-
-
- }
-
-
-
- bounded_by {box {<-3 -1 -5> <3 2 5.5>}}
- translate <0 0 0>
-
- }
-
-
-
-