J-Lathe & Lathe2Patch-Macro
J-Lathe ist ein Java-Programm zur Erstellung der Splines für Lathe-Objekte in PovRay.
Die Daten können entweder direkt als Lathe-Objekt nach Povray exportiert werden, oder
als ein Array der Spline-Kontrollpunkte (lässt sich mit dem Lathe2Patch-Macro weiterverwursten),
oder als Mesh.
download J-Lathe + Lathe2Patch
Optionen
- F1
- Ruft die interne Hilfe auf
- "Load Lathe"
- Läd Kontrollpunkte aus einer PovRay *.inc-Datei die ein Lathe-Objekt enthält. Dabei müssen die Daten "roh" vorliegen, dh es dürfen keine Variablen oder arithmetischen Ausdrücke vorkommen, wie zb x*1+y oder 1*5/3.
- "Save Lathe"
- Speichert die Kontrollpunkte als Lathe-Objekt in eine PovRay *.inc-Datei. Diese Datei kann dann mit "Load Lathe" später wieder geladen werden. In PovRay kann man das Objekt dann direkt zB mit object{#include "foobar.inc" pigment{color rgb <1,0,0>}} einbinden (wenn man in die Datei foobar.inc gespeichert hat).
- "Export Array"
- Speichert die Kontrollpunkte als Array in eine PovRay *.inc-Datei. Das Array kann dann im PovRay mit #declare MeinArray=#include "foobar.inc" verwendet werden, und zB mit Lathe2Patch weiterverwendet werden.
- "Export Mesh"
- Erzeugt und speichert ein Mesh aus den Splines. Dieses Feature funktioniert noch nicht korrekt, erzeugt aber trotzdem u.U. interessante Ergebnisse, wie man unten sehen kann ;-)
Lathe2Patch
Lathe2Patch ist ein Script zum erstellen eines Rotationskörpers aus Bicubic Patches auf der Grundlage von Spline-Kontrollpunkten, wie ein Lathe-Objekt. Die Unterschiede zu einem normalen Lathe-Objekt sind:
- Bicubic-Patches können nicht in CSG verwendet werden das sie nicht solid sind.
- Es ist schneller zu rendern, da PovRay erst eine Konvertierung in Dreiecke durchführt.
- Das resultierende Objekt muss nicht zwingendermassen einen kreisförmigen Querschnitt haben, es sind auch (abgerundete) eckige Objekte möglich. So wie die nebenstehenden Objekte oder das über "Bicubic-Patch".
Syntax
Lathe2Patch(2D-Vector[] A,
String SplineType,
int Edges,
float roundness)
- A
-
Ein Array von 2D-Vektoren die die Kontrollpunkte darstellen.
Das Array muß vollständig gefüllt und initialisiert sein.
dh wenn es als
#declare a=array[7]deklariert wurde, so müssen auch alle Elemente a[0] bis a[7] gültige Werte enthalten.
Es dürfen auch 3D-Vektoren sein, in dem Fall wird die z-Komponente ignoriert. - SplineType
- Ein String, darf nur "cubic_spline" oder "bezier_spline" sein. Bedeutung ist äquivalent zur entsprechenden Einstellung beim Lathe-Objekt.
- Edges
- Die Anzahl der Segmente die um die Y-Achse angeordnet werden. Diese werden als Kanten sichtbar falls roundness Werte ≠1 benutzt werden. Muss größer als 1 sein.
- roundness
- Dieser Wert sollte zwischen 0 und 1 liegen und gibt die "Kantigkeit" an. Dh, bei 1 gibt es (sollte es) keine sichtbaren Kanten mehr geben. Werte >1 oder ≤0 können aber auch zu interessanten Ergebnissen führen.
Seite erzeugt: Dienstag, 12.08.2008 08:24:42