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