Die alte Dame des Ray-tracing macht immer noch mit. Hier fast taeglich. Ich benuetze es um schnell ein bild her zu stellen, beschaeftige mich dabei meistens nicht mit beleuchtung, textur und farbe, deshalb das haessliche bild. Normal programmiere ich in English, aber diesmal mar es zur illustration fuer Hollaendische kollegen.

Code:
//+w800 +h800 +am2 +a0.01
#version 3.7;
global_settings{ assumed_gamma 1.0 }
#default{ finish{ ambient 0.1}}
// globals
#declare basishoogte = 600; //basishoehe
#declare basisbreedte = 600; //basisbreite
#declare basisdiepte = 600; //basistiefe
#macro openmodule(breedte, hoogte, diepte, dikte)
#local werkhoogte = basishoogte * hoogte;
#local werkbreedte = basisbreedte * breedte;
#local werkdiepte = basisdiepte * diepte;
object{
difference {
box{ <0,0,0>, <werkbreedte, werkhoogte, werkdiepte> }
box{
<0,0,0>, <werkbreedte - 2 * dikte, werkhoogte - 2 * dikte, werkdiepte>
translate < dikte, dikte, - dikte>
}
}
}
#end
// wat we gaan maken
//#declare modulehoogte = 1/2;
//#declare modulebreedte = 1;
//#declare modulediepte = 2/3;
//#declare wanddikte = 24; //mm
//wandkast
union{
object{
openmodule(3/4, 3/4, 1/4, 22)
translate <0,150,450>
pigment{rgb 1}
}
object{
openmodule(3/4, 1/2, 1/4, 22)
translate <-450,150,450>
pigment{rgb 1}
}
object{
openmodule(3/4, 1/2, 1/4, 22)
translate <450,150,450>
pigment{rgb 1}
}
translate <0,1000,0>
}
//bureau
union{
object{
openmodule(1, 1, 1, 40)
translate<0,100,0>
pigment{rgb 1}
}
box {<0,0,0>,<550,100,550>
pigment{rgb 1}
translate <25,0,25>
}
object{
openmodule(1/2, 1, 1, 18)
pigment{rgb 1}
translate <1400,0,0>
}
box{<-10,700,-10> <1550,740,700> pigment{rgb 1}}
translate<-550,0,0>
}
//stoel
union{
object{
openmodule(1/4, 1, 1, 18)
translate<0,0,0>
pigment{rgb 1}
}
object{
openmodule(1/4, 1, 1, 18)
translate<600,0,0>
pigment{rgb 1}
}
box{
<0,0,0><450,18,450>
translate <150,450,0>
pigment{rgb 1}
}
box{
<0,-300,0><450,450,18>
rotate<30,0,0>
translate<150,450,450>
pigment{rgb 1}
}
rotate<0,100,0>
translate<1500,0,-1000>
}
//kast
union{
object{
openmodule(1, 1, 3/4, 40)
translate<0,0,0>
pigment{rgb 1}
}
object{
openmodule(1, 1, 3/4, 40)
translate<600,0,0>
pigment{rgb 1}
}
object{
openmodule(1/2, 1, 3/4, 40)
translate<0,600,0>
pigment{rgb 1}
}
object{
openmodule(1/2, 1, 3/4, 40)
translate<900,600,0>
pigment{rgb 1}
}
object{
openmodule(1, 1/2, 1/4, 40)
translate<300,600,300>
pigment{rgb 1}
}
object{
openmodule(1, 1/2, 1/4, 40)
translate<300,900,300>
pigment{rgb 1}
}
object{
openmodule(1, 1/2, 3/4, 40)
translate<0,1200,0>
pigment{rgb 1}
}
object{
openmodule(1, 1/2, 3/4, 40)
translate<600,1200,0>
pigment{rgb 1}
}
rotate<0,90,0>
translate<2600,0,800>
}
light_source{<-3000,5000,-3000> rgb 1}
camera {
angle 50
location <-2500 , 1500 , -3550>
right x*image_width/image_height
look_at <1200 , 800 , 0.0>
}
