|
"lathe" - Rotationskörper
|
"lathe" - Rotationskörper
allgemeiner Syntax:
lathe{
Spline_Type
n,
< x1, y1 >,
< x2, y2 >,
< x3, y3 >,
...
< xn, yn >
texture{ ... }
} |
|
Hierbei wird durch "n" Punkte < xi, yi >( i = 1 bis n )
eine Umrißlinie des Körpers in der xy-Ebene definiert.
Diese Punkte werden durch eine Spline-Kurve verbunden. Der Körper entsteht durch Rotation dieser Kurve um
die y-Achse.
Mögliche Spline_Type:
linear_spline, quadratic_spline, cubic_spline, bezier_spline
Im Normalfall wird diese Kurve senkrecht zur y-Achse nicht geschlossen.
Will man eine geschlossene Kurve erhalten muß der letzte Punkt wieder der erste sein!
Eventuelle Rechenfehler, die sich durch Löcher
in der Körperoberfläche zeigen, lassen sich durch den Zusatz "sturm" reduzieren (dies erzwingt die Verwendung
des langsameren, aber genaueren Sturmschen Algorithmus zur Wurzelberechnung).
|
Will man eine andere Lage des Rotationskörpers erreichen, so muß den Rotationskörper mittels
"rotate< , , >" und "translate< , , >"
in die gewünschte Position gedreht und geschoben werden.
|
|
Beispiel links:
lathe{
quadratic_spline // Spline_Type
5, // number of points,
<2, 0>, // <x,y> points,
<3, 0>,
<3, 5>,
<2, 5>,
<2, 0>
// sturm
texture{
pigment{ color rgb<0.4,0.2,1>}
finish { phong 1 reflection 0.2}
} // end of texture
scale<1,1,1>*1
rotate<0,0,0>
translate<0,0.6,0>
} // end of lathe object
//----------------------- |
|
Anmerkung:
Warum "sor" statt "lathe" ?
(Letzeres erscheint meist sehr viel flexibler!)
Schnittberechnungen mit "sor"-Objekten führen lediglich auf quadratische Gleichungen,
wogegen Schnitttests mit "lathe"-Objekten auf Gleichungen 6.Grades führen. Quadratische Gleichungen
sind sowohl schneller als auch genauer lösbar. Da solche Objekte stets sehr viele Teilflächen besitzen,
ist dies von großer Bedeutung.
|
|