Die Form eines Ellipsoides bildet die Außenform eines Kanus. Diese Form
wird mit der gleichen etwas verkleinerten Form ausgehöhlt ("intersection" mit "inverse")
Davon wird oben ein Ellipsoid abgeschnitten:
#declare Canoe_outside=
sphere {<0,0,0>,1 scale <3,1.5,1> translate<0,0.5,0> }
//-----------------------------------------------------
#declare Canoe =
intersection{
object{ Canoe_outside }
object{ Canoe_outside scale <0.98,0.95,0.94> inverse}
sphere {<0,0,0>,1 scale <2.5,1,20> translate<0,1.3,0> inverse}
texture{pigment{color White*1.1}
finish {ambient 0.45 diffuse 0.55 phong 1}}
} // end of outside structure of the canoe -------------------
Natürlich sollte man sich auch noch ein paar Sitzgelegenheiten im Kanu genehmigen!
Plaziert man das Kanu einfach so auf der Wasseroberfläche,
so bekommt der Benutzer naße Füße!
|
|
Um dies zu vermeiden muß man an der selben Stelle das Äußere des Kanus
von der Wasserfläche abziehen.
|
|
So macht ein Kanu richtig Spaß!
|
|
Um die exakte Positionierung des Loches im Wasser und des Kanus an diesem Ort zu erleichtern,
empfiehlt es sich diese Position und eine eventuelle Drehung des Kanus zusammen in einer
Transformation zu definieren:
#declare Canoe_Position1
= transform{ rotate < 0,30, 0> translate<0,0,1>}
Diese Transformation kann dann sowohl auf das Kanu-Objekt selbst, wie auch auf
das Loch im Wasser (Kanu-Äußeres) angewandt werden:
//-------------------------------------< Kanu positionieren
object{ Canoe transform Canoe_Position1}
// -----------------------------------< Loch in Wasserfäche
difference{
plane{<<<0,1,0>, 0 } // das Wasser
object{Canoe_outside
transform Canoe_Position1 } // das Loch
texture{Polished_Chrome
normal {crackle 1 scale 5
turbulence 1 translate<0,0,5>}
finish {ambient 0.15 diffuse 0.45
reflection 0.40}}
}// end of difference
//---------------------------------------------------- end
Die wirkliche Effektivität dieser Methode kommt natürlich erst dann
richtig zur Geltung, wenn man sich mehr als ein Kanu leisten kann!
|