POV-Ray : Newsgroups : povray.text.scene-files : scene: birthday cake Server Time
29 Jul 2024 04:33:04 EDT (-0400)
  scene: birthday cake (Message 1 to 1 of 1)  
From: Josef Bauer
Subject: scene: birthday cake
Date: 30 Sep 1998 03:08:51
Message: <71lLyrRGqxB@nospam.gmx.de>
//foks, girls like THIS!!! if you cant bake you maybe send
//birthday greetings via a postcard-cake :)

//
// coole geburtstagstorte f|r nina's karte
//

// sorry, i mixed english and german text...

// Persistence of Vision Ray Tracer Scene Description File
// File: cake.pov
// Vers: 3.1
// Desc: Torte auf Glasteller :)
// Date: 7.8.1998
// Auth: josef bauer
//       setzt die true type fonts webdings.ttf u. times.ttf (times new roman)
//       voraus!!!
//       der schriftzug 'You!' kann natuerlich ausgetauscht werden, dies setzt aber
//       eine neuer platzierung per hand voraus (wegen proportionalschrift)
//       'von Sepp' kann einfach geSndert werden, bei lSngeren namen halt
//       neue objekte hinzufuegen und entsprechend an der torte rumrotieren.

global_settings { assumed_gamma 1.0 }

background { color rgb 0 }

#declare camera_location = < 8, 10, -8> ;
#declare camera_look_at = < 0, 0, 0> ;
#declare effect_location = < -3.3, 5.4, 0>;
#declare effect_location = vrotate (effect_location, -y*360/17*1);
#declare always_on_top=false;
#declare effect_type="diamond"
#declare camera_location=vrotate(camera_location, y*30);

//#include "Lens.inc"

camera
{
  location  <8,10,-8>
  look_at   <0,0,0>
  rotate y * 20
}


light_source
{
  <0,0,0>
  color rgb <.5,.5,.5>
  translate <0, 1, -10>
  shadowless
}

//
// color/texture declaration part
//

#declare rot = color rgb <1,0,0>;
#declare gruen = color rgb <0,1,0>;
#declare blau = color rgb <0,0,1>;
#declare weiss = color rgb <1,1,1>;
#declare grau50 = color rgb <.5,.5,.5>;
#declare schwarz = color rgb <0,0,0>;

#declare sahne=
  texture {
    pigment {
      color rgb <1,1,1>
    }
    normal {
      bumps
      turbulence 1.2
      scale 1.1
    }
    finish {
      brilliance .6
      phong .5
    }
  }

#declare wachs=
  texture {
    pigment {
      color rgb <.7,.9,.7>
    }
    finish {
      phong .2
      brilliance .9
      diffuse 1
    }
  }

#declare zuckerguss=
  texture {
    pigment {
      bozo
        color_map {
          [0.00 color schwarz]
          [0.33 color gruen]
          [0.66 color rgb <.4,0,.4>]
          [1.00 color schwarz]
        }
      scale .05
   }
 }

#declare zuckerguss_gelee=   //may be called FLUBBER too :)
  texture {
    pigment {
      color rgbt <0,1,0,.6>
    }
    finish {
      phong 1
      brilliance 2
      ambient .1
    }
  }

#declare blauglass=
  texture {
     pigment {
       color rgbft <.2,.2,1,0,.5>
     }
     finish {
       reflection .4
       phong 1
       phong_size 10
       brilliance .9
       diffuse .3
       ambient .2
     }

  }

//
// other declaration part
//

#declare kirschenradius = 4.2;
#declare kerzenradius = 3.3;

//
// object declaration part
//

// coordinate system               //zwecks der |bersicht bei der entwicklung
#declare coordinate_system =
union {
  cylinder { <-10,0,0> , <1000,0,0> .2
    pigment { color rot }
  }
  cylinder { <0,-10,0> , <0,1000,0> .2
    pigment { color gruen }
  }
  cylinder { <0,0,-10> , <0,0,1000> .2
    pigment { color blau }
  }
}

//kirsche
#declare kirsche=
  union {
    sphere { <-.4,0,0>,1 scale <2,1,1> texture { pigment { color rgb <.5,0,.25>}
finish { phong 1 phong_size 20 brilliance 10 diffuse .5 reflection 0}}}
    sphere { <.4,0,0>,1  scale <2,1,1> texture { pigment { color rgb <.3,0,.3>} finish
{ phong 1 phong_size 20 brilliance 10 diffuse .5 reflection 0}}}
   scale <.4,1,1>
   scale .3
  }

//sahnetorte
#declare kuchen=
union {
cylinder { <0,0,0>,<0,3,0>,4.5 }
cylinder { <0,0,0>,<0,1.5,0>,5 }
torus { 4.5,.5 scale <1,3,1> translate <0,1.5,0> }
  texture { sahne }
}

//kerzen
#declare kerzenripple=
union {
  cylinder { <0,0,0>,<0,2,0>,.5 }
  cone { <0,2,0>,.5,<0,2.2,0>,.1 }
  scale <.4,1,1>
}

#declare kerzenschaft=
union {
  object { kerzenripple rotate <0,000,0> }
  object { kerzenripple rotate <0,090,0> }
  object { kerzenripple rotate <0,045,0> }
  object { kerzenripple rotate <0,045+90,0> }
  scale <.5,1,.5>
  texture { wachs }
}

#declare docht=
cylinder { <0,2.2,0>,<0,2.3,0>,.03
  texture { pigment { schwarz }}
}

#declare flamme=
 sphere { <0,0,0>, 1
   texture {
    pigment { color rgbf <1, 1, 1, 1> }
   }
   interior {
     media {
       emission 1
       density {
          spherical
         color_map {
          [ 0  color rgb < 0,0,0> ]
          [ .15 color rgb < 0,0,1> ]
          [ .2 color rgb < 3,0,0> ]
          [ .4 color rgb < 3,3,0> ]
          [ 1  color rgb < 2.8,2.8,3> ]
         }
        turbulence .7
       }
     }
   }
  scale <.3,.5,.3>
  translate <0,2.5,0>
  hollow
 }

#declare staender=
 sphere {
   <0,-.2,0> , 0.5
   pigment { rot }
 }
#declare kerzenlicht=
light_source
{
  <0,0,0>
  color rgb <.2,.2,.06>                     //gelbes kerzenlicht
  translate <-.5, 3.1, -.5>
}

#declare kerze=
union {
  object { kerzenschaft }
  object { docht }
  object { flamme }
  object { staender }
  object { kerzenlicht }
  scale <.6,.8,.6>
}

#declare beschriftung_oben=
union {
text { ttf "Times.ttf"
   "You!"
     1,0
   texture  { zuckerguss finish { ambient .5} }
   scale <2.4,3,.1>
   rotate <90,0,0>
  translate <-2.4,3.1,-2.2>
}
text { ttf "Times.ttf"
   "Happy"
     1,0
   texture  { zuckerguss }
   scale <1.1,1,.1>
   rotate <90,0,0>
  translate <-2.6,3.1,.8>
}
text { ttf "Webdings.ttf"
   "Y"                          //this is the red heart!!!
     1,0
   texture  { pigment { color rgb <1,0,0> } finish { ambient 1 }}
   scale <1.8,1.4,.1>
   rotate <90,0,0>
  translate <0.8,3.1,1>
}
text { ttf "Times.ttf"
   "Birthday"
     1,0
   texture  { zuckerguss }
   scale <.8,1,.1>
   rotate <90,0,0>
  translate <0.2,3.1,-.2>
}
}

#declare beschriftung_seite=   //this is the text on the side of the cake
union {
text { ttf "Times.ttf" "v" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate <0,040,0>
}
text { ttf "Times.ttf" "o" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate <0,030,0>
}
text { ttf "Times.ttf" "n" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate <0,020,0>
}

text { ttf "Times.ttf" "S" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate
<0,-000,0> }
text { ttf "Times.ttf" "e" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate
<0,-010,0> }
text { ttf "Times.ttf" "p" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate
<0,-020,0> }
text { ttf "Times.ttf" "p" 1,0 scale <1.6,2,.1> translate <0,1,-5.05> rotate
<0,-030,0> }

texture  { zuckerguss_gelee }
 }

//Glasteller
#declare teller=
 difference {
  cone { <0,0  ,0>,7,<0,.3 ,0>,7.5}
  cone { <0, .1,0>,7,<0,1.4,0>,7.5}
  scale <.9,1,.9>
 texture {blauglass}
    interior {
       ior 1.5
   }
 }

//tischplatte
#declare tisch=
disc { <0,-.1,0>,<0,1,0> ,7.6
  texture {
    pigment {
    checker
    color red 1 green 0 blue 0
    color red 0 green 0 blue 1
    }
    finish {
      phong 1
      brilliance 2
      ambient 0
    }
  }
}

//
// place object part
//

//object { coordinate_system }

object { kuchen }

object { kirsche translate <kirschenradius,3.2,0> rotate y*000 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*010 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*020 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*030 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*040 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*050 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*060 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*070 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*080 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*090 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*100 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*110 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*120 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*130 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*140 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*150 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*160 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*170 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*180 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*190 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*200 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*210 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*220 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*230 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*240 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*250 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*260 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*270 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*280 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*290 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*300 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*310 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*320 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*330 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*340 }
object { kirsche translate <kirschenradius,3.2,0> rotate y*350 }

object { kerze rotate y*030 translate <kerzenradius,3,0> rotate <0,360/17*1,0>}
object { kerze rotate y*100 translate <kerzenradius,3,0> rotate <0,360/17*2,0>}
object { kerze rotate y*220 translate <kerzenradius,3,0> rotate <0,360/17*3,0>}
object { kerze rotate y*070 translate <kerzenradius,3,0> rotate <0,360/17*4,0>}
object { kerze rotate y*150 translate <kerzenradius,3,0> rotate <0,360/17*5,0>}
object { kerze rotate y*020 translate <kerzenradius,3,0> rotate <0,360/17*6,0>}
object { kerze rotate y*000 translate <kerzenradius,3,0> rotate <0,360/17*7,0>}
object { kerze rotate y*333 translate <kerzenradius,3,0> rotate <0,360/17*8,0>}
object { kerze rotate y*222 translate <kerzenradius,3,0> rotate <0,360/17*9,0>}
object { kerze rotate y*111 translate <kerzenradius,3,0> rotate <0,360/17*10,0>}
object { kerze rotate y*044 translate <kerzenradius,3,0> rotate <0,360/17*11,0>}
object { kerze rotate y*280 translate <kerzenradius,3,0> rotate <0,360/17*12,0>}
object { kerze rotate y*230 translate <kerzenradius,3,0> rotate <0,360/17*13,0>}
object { kerze rotate y*110 translate <kerzenradius,3,0> rotate <0,360/17*14,0>}
object { kerze rotate y*020 translate <kerzenradius,3,0> rotate <0,360/17*15,0>}
object { kerze rotate y*030 translate <kerzenradius,3,0> rotate <0,360/17*16,0>}
object { kerze rotate y*100 translate <kerzenradius,3,0> rotate <0,360/17*17,0>}

object { beschriftung_oben }
object { beschriftung_seite }

object { teller }
object { tisch }




--
LOAD "WIN95",8,1
RUN


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.