Wir beschreiben nun LiLit in einem einer UNIX-Manualseite ähnlichem Format. Neben dem allgemeinen Programmaufruf stellen wir vor allem auch das ODL-Format vor.
lilit | [-a sens] [-d display] [-e] [-f size] [-i] [-h] [-m sens] [-o] [-v] [-w width] [- -] |
[- -angle sens] [- -display display] [- -eps] [- -gl] [- -glps-feedsize size] | |
[- -help] [- -iconic] [- -info-width width] [- -move sens] [- -version] | |
odl_file |
Tasten | Mausbewegung | Beschreibung |
p | -- | Ausgabe der momentanen Szene als encapsulated PostScript-Datei in Farbe. |
P | -- | Ausgabe der momentanen Szene als encapsulated PostScript-Datei in Graustufen. |
q | -- | Programm beenden. |
e | -- | “Eye-Movement-Mode” aktivieren. |
o | -- | “Object-Movement-Mode” aktivieren. |
i | -- | Anzeigeparameter zurück auf die Werte der Eingabedatei setzen. |
Tasten | Mausbewegung | Beschreibung |
j, k | Linke Taste + | Y-Richtung der Kamera verändern. |
Y Bewegung | ||
h, l | Linke Taste + | X-Richtung der Kamera verändern. |
X Bewegung | ||
s, d | Mittlere Taste + | Kamera nach vorne oder hinten bewegen. |
Y Bewegung | ||
a, f | Mittlere Taste + | Kamera nach links oder rechts um die Blickrichtung |
X Bewegung | rotieren. | |
-- | Rechte Taste + | Objekte um die X- und Y-Achse rotieren. |
X/Y Bewegung |
Tasten | Mausbewegung | Beschreibung |
j, k | Linke Taste + | Objekte um die X-Achse rotieren. |
Y Bewegung | ||
h, l | Linke Taste + | Objekte um die Y-Achse rotieren. |
X Bewegung | ||
s, d | Mittlere Taste + | Entfernung der Kamera vom Ursprung vergrößern |
Y Bewegung | oder verkleinern. | |
a, f | Mittlere Taste + | Objekte um die Z-Achse rotieren. |
X Bewegung | ||
-- | Rechte Taste + | Objekte um die X- und Y-Achse rotieren. |
X/Y Bewegung |
Objekttyp Bezeichner { |
Objektbeschreibung |
} |
render Objekt |
integrate_s Funktion maxiter prec |
integrate_v Funktion maxiter prec |
area Fläche maxiter prec |
volume Fläche maxiter prec |
viewmode | eye|object |
Kamera_Azimuth Kamera_Elevation Kamera_X Kamera_Y Kamera_Z | |
Objekt_Azimuth Objekt_Elevation Objekt_Abstand |
orthographic | Limit_links Limit_rechts Limit_unten Limit_oben Limit_nah |
Limit_fern |
perspective | Winkel Aspect Limit_nah Limit_fern |
local_viewer |
translate <x,y,z> |
rotate <x,y,z> |
scale <x,y,z> |
window Fenstertitel x y Breite Höhe |
background <rot,grün,blau,alpha> |
ambient_light <rot,grün,blau,alpha> |
point_size Punktgröße |
epsilon eps |
Objekttyp Bezeichner { |
location <x,y,z> |
translate <x,y,z> |
scale <x,y,z> |
rotate <x,y,z> |
ambient <rot,grün,blau,alpha> |
diffuse <rot,grün,blau,alpha> |
specular <rot,grün,blau,alpha> |
emission <rot,grün,blau,alpha> |
shininess s |
resolution res |
spezielle Objekteigenschaften... |
} |
point Bezeichner <x,y,z> |
polygon Bezeichner { |
Standardeigenschaften... |
Punktbezeichner1 Punktbezeichner2 ... |
reverse_orientation |
} |
gspline Bezeichner { |
Standardeigenschaften... |
Polygonbezeichner1 Polygonbezeichner2 ... |
trim_ball x y z r |
trim_ellipsoid x y z rx ry rz |
trim_func m11 m12 m13 m21 m22 m23 m31 m32 m33 v1 v2 v3 |
trim_curve { |
Punktbezeichner |
<x1,y1> <x2,y2> ... |
} |
trim_polygon { |
Punktbezeichner |
<x1,y1> <x2,y2> ... |
} |
trimlevel level |
doosabin level |
doosabin_draw [grid] all|last |
doosabin_color <rot,grün,blau,alpha> |
reverse_orientation |
} |
function Bezeichner { |
Standardeigenschaften... |
G-Spline-Bezeichner |
map { |
Punktbezeichner1: val11[,val12...] |
Punktbezeichner2: val21[,val22...] |
... |
} |
curvature H|K|max|min|square |
fscale scale |
coldelta cdelta |
colscale cscale |
display color|colorf|grid|spikes|vectors ... |
} |
isoline Bezeichner { |
Standardeigenschaften... |
G-Spline-Bezeichner |
function Funktionsbezeichner |
reflection <eyex,eyey,eyez> <planex,planey,planez> <lx,ly,lz> <dx,dy,dz> |
base baseval |
isostep step |
levels { level1 , level2 , ...} |
maxlevel mlevel |
maxlines mlines |
raise raiseval |
color_lines |
coldelta cdelta |
colscale cscale |
} |
light { |
Standardeigenschaften... |
direction <dx,dy,dz> |
spot_direction <dx,dy,dz> |
spot_exponent exponent |
spot_cutoff cutoff |
constant_attenuation ac |
linear_attenuation al |
quadratic_attenuation aq |
} |
<odl> | ::= | | <decl> <odl> |
<decl> | ::= | <render> |
| <integrate> |
| <view> |
| <light> |
| <point> |
| <polygon> |
| <gspline> |
| <function> |
| <isoline> |
| window <ident> <real> <real> <real> <real> |
| orthographic <real> <real> <real> <real> <real> |
<real> |
| perspective <real> <real> <real> <real> |
| local_viewer |
| ambient_light <vector4> |
| background <vector4> |
| translate <vector3> |
| rotate <vector3> |
| scale <vector3> |
| point_size <real> |
| epsilon <real> |
<render> | ::= | render <ident> |
<integrate> | ::= | integrate_s <ident> <real> <real> |
| integrate_v <ident> <real> <real> |
| area <ident> <real> <real> |
| volume <ident> <real> <real> |
<view> | ::= | viewmode <mmode> <real> <real> <real> <real> |
<real> <real> <real> <real> |
<mmode> | ::= | object | eye |
<light> | ::= | light { <prop> } |
<point> | ::= | point <ident> <vector3> |
| point <ident> { <prop> } |
<polygon> | ::= | polygon <ident> { <prop> } |
<gspline> | ::= | gspline <ident> { <prop> } |
<function> | ::= | function <ident> { <prop> } |
<isoline> | ::= | isoline <ident> { <prop> } |
<prop> | ::= | | <prop_value> <prop> |
<prop_value> | ::= | ambient <vector4> |
| base <real> |
| color_lines |
| coldelta <real> |
| colscale <real> |
| constant_attenuation <real> |
| curvature H |
| curvature K |
| curvature max |
| curvature min |
| curvature square |
| diffuse <vector4> |
| direction <vector3> |
| display <display_mode> |
| doosabin <real> |
| doosabin_color <vector4> |
| doosabin_draw all |
| doosabin_draw last |
| doosabin_draw grid all |
| doosabin_draw grid last |
| emission <vector4> |
| function <ident> |
| fscale <real> |
| levels { <reallist> } |
| linear_attenuation <real> |
| location <vector3> |
| maxlevel <real> |
| maxlines <real> |
| quadratic_attenuation <real> |
| map { <map_desc> } |
| raise <real> |
| reflection <vector3> <vector3> <vector3> <vector3> |
| resolution <real> |
| reverse_orientation |
| rotate <vector3> |
| scale <vector3> |
| shininess <real> |
| specular <vector4> |
| spot_cutoff <real> |
| spot_direction <vector3> |
| spot_exponent <real> |
| step <real> |
| translate <vector3> |
| trim_ball <real> <real> <real> <real> |
| trim_curve { <ident> <trimcurve_desc> } |
| trim_ellipsoid <real> <real> <real> <real> |
<real> <real> |
| trim_func <real> <real> <real> <real> <real> |
<real> <real> <real> <real> <real> <real> |
<real> <real> |
| trim_polygon { <ident> <trimcurve_desc> } |
| trimlevel <real> |
| <ident> |
<display_mode> | ::= | color <x_display_mode> |
| colorf <x_display_mode> |
| grid <x_display_mode> |
| spikes <x_display_mode> |
| vectors <x_display_mode> |
<x_display_mode> | ::= | | color <x_display_mode> |
| colorf <x_display_mode> |
| grid <x_display_mode> |
| spikes <x_display_mode> |
| vectors <x_display_mode> |
<trimcurve_desc> | ::= | | <vector2> <trimcurve_desc> |
<map_desc> | ::= | | <ident> : <reallist> <map_desc> |
<reallist> | ::= | <real> | <real> , <reallist> |
<vector2> | ::= | "<" <real> , <real> ">" |
<vector3> | ::= | "<" <real> , <real> , <real> ">" |
<vector4> | ::= | "<" <real> , <real> , <real> , <real> ">" |
# moebius.odl: Möbiusband. point p_1_0 <0,2,0> point p_2_0 <2,0,0> point p_3_0 <5,2,2> point p_4_0 <2,4,0> point p_1_1 <0,2,2> point p_2_1 <2,0,2> point p_3_1 <4,2,2> point p_4_1 <2,4,2> point p_1_2 <0,2,4> point p_2_2 <2,0,4> point p_3_2 <3,2,2> point p_4_2 <2,4,4> polygon P1_0 { p_1_0 p_2_0 p_2_1 p_1_1 ambient <0.0,0.0,0.0,1.0> } polygon P2_0 { p_2_0 p_3_0 p_3_1 p_2_1 ambient <0.0,0.0,0.0,1.0> } polygon P3_0 { p_3_0 p_3_1 p_4_1 p_4_2 ambient <0.0,0.0,0.0,1.0> } polygon P4_0 { p_4_2 p_4_1 p_1_1 p_1_2 ambient <0.0,0.0,0.0,1.0> } polygon P1_1 { p_1_1 p_2_1 p_2_2 p_1_2 ambient <0.0,0.0,0.0,1.0> } polygon P2_1 { p_2_2 p_2_1 p_3_1 p_3_2 ambient <0.0,0.0,0.0,1.0> } polygon P3_1 { p_3_2 p_3_1 p_4_1 p_4_0 ambient <0.0,0.0,0.0,1.0> } polygon P4_1 { p_4_1 p_4_0 p_1_0 p_1_1 ambient <0.0,0.0,0.0,1.0> } gspline gs { P1_0 P2_0 P3_0 P4_0 P1_1 P2_1 P3_1 P4_1 shininess 0.5 diffuse <0.65,0.0,0.0,1.0> ambient <0.5,0.0,0.0,1.0> specular <1.0,0.6,0.6,1.0> location <0,0,0> resolution 8 reverse_orientation doosabin 2 # doosabin_draw grid last # doosabin_color <0.0,0.0,0.0,1.0> } function func { gs map { p_1_0:4 p_2_0:4 p_3_0:9 p_4_0:4 p_1_1:4 p_2_1:4 p_3_1:4 p_4_1:4 p_1_2:4 p_2_2:4 p_3_2:1 p_4_2:4 } shininess 1.0 diffuse <1.0,1.0,1.0,1.0> ambient <1.0,1.0,1.0,1.0> specular <1.0,1.0,1.0,1.0> emission <0.0,0.0,0.0,0.0> resolution 10 colscale 0.7 coldelta -0.6 display color # display grid spikes colorf fscale 1 } light { ambient <1.0,1.0,1.0,1.0> diffuse <1.0,1.0,1.0,1.0> specular <1.0,1.0,1.0,1.0> location <2,-1,4> constant_attenuation 1.0 linear_attenuation 0.25 quadratic_attenuation 0.015 } window Moebiusband 0 0 500 500 background <1.0, 1.0, 1.0, 1.0> ambient_light <0.4, 0.4, 0.4, 1.0> viewmode eye 65.0 10 8 1 5.5 0 0 1 perspective 35.0 1.0 0.01 100.0 # render gs render func area gs 50 0.000015625 integrate_s func 50 0.000015625