| | Contents | qtriplot home | | QTriplot Manual |
![]() |
vector
A parameter of type vector consists of
three numbers, separated by either spaces or commas.
color
A parameter of type color consists either of
a text string naming a color, or of a vector
defining, in a range from 0 to 1, the red, green and blue component of the color
respectively.
The following color names are known:
If the file contains no triangles (i.e. points only) the points are plotted as squares. The color of the squares is controled by the color parameter, the size by the bold parameter.
If the file contain extra lines (or lines after the binary information) of the form
range
var=value
two variables: var and name_var (where name is the name of the object) are set to value for each pair of lines of this form.
vecfile [name=]filename
[; x,y,z [,s]]
Add a vector object defined by the matrix file filename to the
display, and use name to refer
to it from now onward. If you leave out the name, filename
will be the same as the file name.
The matrix must have exactly 3 rows. Each column of the matrix is interpretated as the (x,y,z) components of a vector. The vector corresponding to the current column is displayed.
The extra parameters x,y andz, if provided, specify the origin of the vector. The extra parameter s specifies the scaling of the vector. These origin and scaling can also be defined by using the commands vecorigin and vecscale respectively. By default, such a value is chosen for the vector scale that the vector fits within the diplay at its maximum amplitude.
delete [name]
Remove name from the display.
$ and % (variables)
The command parser allows variables to be used. Some variables are defined
internally (see below). The user can define variables by using the set command.
The string ${var}, where var is the name of
the variable, will be substituted by the string value,
where value is the value of the variable.
If $var is surrounded by spaces, you can omit the braces.
You can also use % instead of $ to refer to variables. The
difference is that for $ the value at the moment the command is
entered is substituted, and for % the value at the moment the command
is used is substituted. For instance:
text 0.1,0.1,$column
will display the value of column at ther moment
the command is entered;
the text will not change if the value of column changes (for instance
in a movie).
text 0.1,0.1,%column
will display the current value of column;
if the value changes, the text changes as well.
The result of the variable susbstitution can be displayed in the command window
by using the parse command.
Standard variables:
| $theta | current value of the angle theta |
| $gamma | current value of the angle gamma |
| $phi | current value of the angle phi |
| $column | current value of the function column to be displayed |
| $step | current value of the isofunction step size |
| $funscale | current value of funscale |
| $vertex | index of last vertex selected by the mouse |
| $triangle | index of last triangle selected by the mouse |
| $value | last function value selected by the mouse |
| $mouse | last coordinates clicked on by the mouse |
^-functions
Similar to $-variables,
the command parser allows functions to be used. Functions start with the
^-symbol. In the command string the expression
^function(parameters) is is substituted by the result of the function.
These are the available functions:
| ^x(x, y, z) | x |
| ^y(x, y, z) | y |
| ^z(x, y, z) | z |
| ^norm(x, y, z) | sqrt(x*x+y*y+z*z) |
| ^add(p1, p2) | p1 + p2 |
| ^sub(p1, p2) | p1 - p2 |
| ^mul(p1, p2) | p1 * p2 |
| ^div(p1, p2) | p1 / p2 |
| ^rand(p1,p2) | a random number between p1 and p2 |
| ^vertex(i,geo) | coordinates of vertex i of geometry geo |
| ^triangle(i,j,geo) | index of vertex j of triangle i of geometry geo |
| ^center(i,geo) | coordinates center of triangle i of geometry geo |
| ^el(i,geo) | coordinates of electrode i of geometry geo |
| ^fun(i,j,geo) | function value for row i, column j of geometry geo |
antialias bool
Turn anti-aliasing of lines on or off.
See also bold.
autostop bool
If true, qtriplot will exit as soon as there is no input file to read
input from.
The default value is false.
You can also turn on autostop by the
command line option -a.
bgdcolor color
Set the background color.
bar bool | val | color | function
For a bool parameter this sets wether or not to display a color scale bar
at the right side of the display when plotting functions on objects.
For a number parameter this sets
the fraction of the right side of the display reserved for
the color bar. The default value is 0.15.
bar color makes the color bar refer to the most recently loaded color
map (see colorfile). bar function makes it
refer to the function displayed on the objects (this is the default).
cd [dir]
Change the current working directory to dir. If the parameter
dir is omitted, the current working directory is displayed in the
command window.
center [auto | noauto]
Scale and translate the scene to make the objects fill the display,
without clipping. If you add the string auto, the scene will
be centered every time an object is added or deleted (this is the default
behaviour). If you add noauto, automatic centering is switched off.
See also origin and scale.
delsignal [x0,y0]
Remove any signal plot at (x0,y0)
(see signal). If x0 and y0 are
not provided, all signal plots are removed.
echo bool
Turn echoing of commands on or off.
format formatstring
Set the format in which variables are parsed on the command line to the c-style
format formatstring. The default value is %14.4g.
for var = first to last
[step st] | [speed sp]
Start a loop. The loop must be closed by an end statement.
The commands between the for and end statements will be
repeated. At each turn of the loop the
variable var will be set, starting at
first. Once var has reached the value last, the loop
will stop.
By default, var will be incremented by steps of 1.
If step is included
in the for command, var will be incremented by st.
If speed is included, var will be incremented by
speed*dt, where dt is the time (in seconds) that has
passed since the preceeding turn of the loop. This facilitated smooth animation,
independent of the hardware used.
fullscreen bool
Turn full screen display on or off.
funcolor heat[plus] | [i]hsv | grey | tim | siesmic
Set the color scale for function maps. Valid values are:
| heat | (blue -> green -> red); |
| heatplus | (green -> red); |
| hsv | (red -> yellow -> blue); |
| ihsv | (blue -> yellow -> red); |
| grey | (black -> white); |
| seismic | (blue -> white -> red); |
| tim | (colormap used in Durrer's publications). |
funscale [ v1,v2 | column | auto | noauto | autocol ]
Scale the color scale for function plotting such that the scale runs from
v1 to v2. If you leave out v1 and v2, the color scale
and step will match the extremes of the functions of
all objects.
The command funscale column will set the color scale and
step according to the extremes of
the present column only.
The first time a function is loaded, the color scale will be fitted to
the extremes of that function.
When you set funscale to auto, the color scale (and step size) will be fitted to any newly loaded function.
By default, funscale is set to noauto.
When you set funscale to autocol, the color scale (and step size) will be fitted to any newly displayed column.
Any other usage of funscale will terminate this behaviour.
gamma angle
Set the gamma angle to angle (in degrees).
By default, the scene is oriented with the x-axis pointing toward the observer, and the z-axis pointing upward. This orientation can be modified by means of the angles gamma, phi and theta. The scene is first rotated over gamma degrees around the z-axis (vertical axis), then over theta degrees around the y-axis (the horizontal axis in the plane of the screen), and finally over phi degrees around the new z-axis.
Note: any object can be rotated independently by using the angle parameter.
The orientation can also be change by means of the mouse.
help [item]
Start up the manual browser. If you add item, the help broswer will
open the correspondin section (if available).
horizontal [value]
Set the number of panels into which the display is divided horizontally to
value.
See panel for details.
isocolor color
Set the color of isofunction lines to color.
See also funfile.
linewidth [val]
Set the overall width of lines to val pixels. The default value is 1.
This affects all lines, including, e.g. the box around the color bar. Lines
that are associated with an object are also affected by the object parameter
bold; the total linewidth is bold times
linewidth.
See also antialias.
obsdist value
Set the value of the observator from the origin
to value in units of scale. The
perspective is adjusted according to the observator distance.
If the observator distance is zero (the default value), an orthographic projection is used.
oddstep [bool]
By default, isofunction lines are drawn at function values
n*step, where n is an integer and step
is the step size.
If oddstep is true, isofunction lines are drawn at function
values (n+1/2)*step. This is useful if the zero
isofunction line is not particulary meaningful.
See also fun.
pause [value]
Pause reading commands from file for value milliseconds. In the
meantime, you can rotate the object by mouse etc.
You can force the pause to stop by pressing the Pause key.
If value is omitted, the pause lasts indefinitely.
You cannot use this command interactively.
parse text
Display text in the command window after parsing it, i.e. substituting
variables and functions by there values
and results.
png [filename]
Save the current display in png format to filename.
If filename does not end with .png, .png will be
added to the file name.
The default filename is qtriplot.png.
See also print.
point [vector |
color | vertex | none ]
Add a point to the display.
The point is marked by a square. The size of the squares is controlled by the parameter bold.
To remove the point, add it again.
When you enter point vertex, all points present will be labeled by the a number, indicated the order in which they have been added. When you enter point none, they will not be labelled (the default).
By default, the color of the points is black. You can change the color of all points by entering the name of a color instead of a vector.
print [value]
Print the current display. value determines the fraction of the paper
width that will be used (default: 0.9).
First, the print dialog will open. In this dialog you can chose the printer
and set various options.
See also png.
origin [vector]
Move the origin of the scene so that vector is at
the center of the display. If you leave
out vector, the scene will be centered. See also
center.
menubar bool
Show or hide the menu bar. By default, the manu bar is shown.
You can also hide the menu bar by the
command line option -m.
movie [speed [name]]
Start the movie mode. In movie mode, the column parameter
of one or more objects is repeatedly increased by, and the scene is redisplayed.
speed is the number of column increments per second; the default value
is 10.
If name is supplied, the movie is only in effect for the object called
name. The value of the column parameter runs
until the number of columns in the associated function
file, and is then reset to 1.
If you leave out name, the movie is in effect for all objects for
which a function is defined.
To stop movie mode enter stopmovie.
phi angle
Set the phi angle to angle (in degrees).
See gamma for details.
philight angle
Set the phi angle of the light direction to angle (in degrees).
The direction of the light source is controled by 2 angles: phi en theta. Phi is the angle along the vertical axis, and theta the angle allong the horizontal axis in the plane of the display. If both phi and theta are zero, the light is coming from the observer.
The light direction can also be change by means of the mouse.
replay filename
Read commands from the file filename instead of from the command
window. If filename does not exist, qtriplot will append .trp
to filename and try to open that file.
You can also enter the command file in the
command line.
While commands are read from file, commands from the command window are
blocked. You can abort replaying by pressing the Scroll Lock key.
See also autostop and pause.
scale [value]
Scale the scene so that distances of length value from the center of
the screen are allways within view. If you leave
out value, the scene will be scaled so that the current
connent fit well. See also
center.
set [var[=value]]
Define the variable var, and set its value to value.
Henceforward, the string ${var} in the command
window will be substituted by the string value.
If $var is surrounded by spaces, you can omit the braces.
If you leave out =value, the current value of
var is displayed.
If you leave out var as well, all current variables and their
values will be displayed.
There are a number of system variables, that are set by the program itself:
theta,
phi,
gamma and
column. See the commands with the same name for the meaning of these
variables.
See also $ and %
sigaxis color
Set the color of the axes of all signal plots (see signal).
sigmarker color
Set the color of the marker of all signal plots (see signal).
sigmaxwidth n
Set the maximum width of all signal plots (see signal) to n columns.
If a signal contains more than n columns, only a section of width
n around the
current column is displayed. If sigmaxwidth is
set to zero (default) the full signal is displayed.
size x,y
Resize the display window to x by y pixels.
step [ value | step | auto | noauto ]
Set the interval between isofunction lines to value
If you leave out value, an optimal step size for the
current content will be determined.
The command step column will find an optimal step according to the
extremes of the present column only.
The first time a function is loaded, the step size will be adapted to
the extremes of that function.
When you set step to auto, the step size (and color scale) will be fitted to any newly loaded function.
By default, step is set to noauto.
stopmovie
Stop the movie mode. See movie for details.
sync
While reading commands from a file (see replay),
or processing commands in a loop (not yet implemented), the display is
updated only before a pause command, the end of the command file, or at each
cycle of the loop. The sync command forces an update of the display.
theta angle
Set the theta angle to angle (in degrees).
See gamma for details.
thetalight angle
Set the theta angle of the light direction to angle
(in degrees).
See philight for details.
vertical [value]
Set the number of panels into which the display is divided vertically to
value.
See panel for details.
ambient [name=]value
Set the amount of ambient reflection to value.
Value must be between 0 and 1. The default value is 0.25.
If a function is displayed in color scale on the object
(see funfile, double the amount of
ambient reflection is used, as in general more ambient lighting is needed
to observe the colors.
See also specular.
back [name=] yes | no | both
Set which triangles of the object are to be displayed: the ones facing
the observer with their front side (back=no; the default),
those facing the observer with their back side (back=yes),
or both.
The front side of a triangle is defined as the side for which the vertices
are numbered clockwise as seen from the observer.
Note that back=both makes no sense for closed, opaque
objects. For transparent objects, the results are commonly ugly,
because of the unpredictable order in which the front and back
triangles are drawn. It is advisable to use this option only for
opaque, non-closed objects or when viewing cross-sections of
objects (see cross).
bold [name=] val
Set the width of lines associated to the object to val times
linewidth pixels. The default value is 1.
See also antialias.
color [name=]color
Set the color of the object to color.
colorfile [name=]colorfile
[colormap]
Set the color per vertex of the object.
If no colormap is provided
in the command, colorfile must be be a 3-column matrix. Each row then
defines the rgb values of the corresponding vertex.
If colormap is provided,
colorfile must be be a 1-column matrix, and colormap must be
either a 3-column matrix or a 4-column matrix. In the first case, the elements
of colorfile are interpreted as indices into the colormap,
thus defining the color of each vertex.
In this case, the first color entry has index 1 by default. This can be
changed by adding extra lines at the end of the colorfile
in this format:
First Index
number
which sets the first color entry to index number.
If colormap is a 4-column matrix, the first column is interpretted as a list of indices, that corresponds to the indices in colorfile. The indices do not have to be ordered or contiguous.
column [name=]value
Select column value of the function matrix of the object to be the
function to be displayed on the object.
If column=0, the content of the variable $vertex indicates the
column to be plotted. This variable is set by clicking on a node when mouse
vertex is in effect; see mouse.
See also funfile.
cross [name=][ value | line | fill | plane | yes | no ]
cross [name=][ vector ]
The first form sest wether to clip object name with a plane.
value is a 4 bit integer. Bit 1 sets wether or not to draw the
cross section of the object and the plane as a line, bit 2 sets whether or not
to fill the cross section with the object color, bit 3 sets whether or not
to hide the part of the object that is in front of the plane, and bit 4 sets
wether or not to hide the part that is behind the plane.
The string line is equivalent to a value of 5, fill is
equivalent to 6, plane is equivalent to 15, yes is
equivalent to 7, and no is equivalent to 0.
The second form sets the normal vector of the cross section plane. If it is
zero (the default value) the normal vector of the cross section plane is
allways parallel to the screen. Note that the cross section plane can also be
rotated by shift-right dragging the mouse.
It might be a good idea to
set the back parameter to both when crossing is
active. The crossdis parameter deterimes
the distance (toward the viewer) of the cross clipping plane
from the origin.
The color of the line that is drawn is defined by the
marker parameter of geometry name.
crossdis [name=]value
Set the distance between the cross clipping plane end the origin
of the display; see cross for details.
Note: the distance between the plane and the origin can also be
changed, with steps of a few pixel units, by hitting the
< and > keys (to move the
plane toward or away from the observer, respectively).
edge [name=] color | bool
Either sets the color of the edges (and nodes), or sets whether the edges of the object are
displayed.
The default color is none. In this case, the color of the edges is a
darker version of the object color (due to light effects it might appear
lighrer).
If the object has no triangles, a line is drawn from te first point of the
object to the next etc if edge is true.
fill [name=]bool
Set whether the triangles of the object are displayed.
fun [name=] hide | iso | color | both | flat | bothflat
Determin how the function of object name (see funfile) is displayed: hide it, display isofunction lines,
display the function as colors mapped on the object, use both isofunction
lines and a color scale, use flat colors (i.e. using a color scale with
discrete steps), or use flat colors and isofuction lines.
The range of the color scale is controled by the parameter funscale and the size of the steps between the isofunction
lines and the dicrete steps for flat colors is controled by
step.
funfile [name=]filename
[first [last [step]]]
Load the matrix file filename and connect it to the object.
Each column of the matrix is regarded as a function defined on the vertices of
the object.
In this command, you cannot use '*' or '!' to set the funfile for all objects
or to set the default funfile (see syntax).
If you supply the optional parameters first, last and
step, only the column from first to last with
interval step are read. The default values for these parameters are
(obviously) "1", "all" and "1" respectively.
See also column.
tfunfile [name=]tfilename
[first [last [step]]]
Like funfile, but the matrix is transposed
while reading.
elfile [name=]filename
Load the electrode file filename and connect it to the object.
If successfull, markers are plotted at the locations of the electrodes defined
in filename.
There are 2 types of electrodes files. In the first one, the electrodes are
located at vertices. The format for this type of file is
| n | |
| 1 | index(1) |
| 2 | index(2) |
| . | . |
| . | . |
| n | index(n) |
| n | ||
| index(1) | lab(1) | mu(1) |
| index(2) | lab(2) | mu(2) |
| . | . | . |
| . | . | . |
| index(n) | lab(n) | mu(n) |
marker [name=] color
| none | vertex | triangle | electrode [n1, n2 ...]
Set the type or
color of the markers for the object. If marker=none, no markers are
plotted (this is the default behaviour). If marker=vertex, the
index of each vertex is plotted next to it. If marker=triangle, the
index of each triangle is plotted inside it. If marker=electrode, the
label of each electrode is plotted at its location (see elfile).
If vertex, triangle or electrode are followed by
indices n1, n2..., only the triangles / vertices / electrodes
with those indices are is marked. The maximum number of indices that can be
listed is 10.
If one of the ns is equal to zero, the content of the variable
$vertex (for vertices)
or $triangle (for triangles) indicates the
vertex / triangle to be marked. This variable is set by clicking on a
node / triangle when mouse
vertex/triangle is in effect; see mouse.
maskfile [name=]filename
Read the mask for the object from file filename. The mask consists of
a integer value for each triangle. Function values are only plotted on
triangles for which the mask is less then or equal to the mask level.
In this command, you cannot use '*' or '!' to set the funfile for all objects
or to set the default funfile (see syntax).
masklevel [name=]value
Set the mask level of the object to value.
The default value is 0.
See also maskfile.
mouse [name=] coor | tri | ver | fun | lm | cross
Determin what property to show at shift-click.
| coor | Coordinates at the surface; |
| tri | Index of triangle; |
| ver | Index of closest vertex; |
| fun | Function value at the surface; |
| lm | Lambda-mu parameters at the surface; |
| cross | Coordinates on the cross-plane; |
panel [name=]vx,vy
Display object name in panel (vx,vy).
The display can be divided vertically and horizontally into a number of panels
by using the commands horizontal and
vertical. The panels are number from left to right and
top to bottom.
range [name=]vf,vl
Display only triangles vf to vl.
By default, all triangles are shown. You cannot change the default behaviour;
the range can only be change for objects that are present.
rename [name=]newName
Rename the object to newName. If another object of the name
newName already exists, that object is deleted.
signal [name=]row,x0,y0
[,dx,dy [,label] ]
Add a plot as a function of time of row row of the function matrix
of geometry name.
The bottom-left corner of the plot is
positioned at (x0,y0), where x and y run
from 0 to 1 for the bottom-left to the top-right of the screen. The width of
the plot is (dx,dy) in the same units (default:
(0.1,0.1)). If the text label is provided, it is plotted above the
plot of the signal.
The current time is indicated in the plot by a marker.
The color of the plot is defined by the marker parameter
of geometry name. The color of the axes and the marker of all signal
plots are defined by the sigaxis and sigmarker parameters.
If row=0, the content of the variable $vertex indicates the
row to be plotted. This variable is set by clicking on a node when mouse
vertex is in effect; see mouse.
If a signal is very long, the part that is displayed can be controlled by sigmaxwidth.
See delsignal for instructions how to remove signals
from the display.
shine [name=]value
Set the width of the specular reflection ("shineness") to value.
Value must be between 0 and 1. The default value is 0.4.
See also specular.
smooth [name=]bool
Set whether or not the triangles of the object are displayed with smoothly
varying reflection of light.
specular [name=]value
Set the amount of specular reflection to value.
Value must be between 0 and 1. The default value is 0.2.
There are 3 ways by which each object reflects light: ambient
(i.e. from diffuse background light), diffuse
(i.e. diffuse reflection from the light
source) and specular (i.e. specular reflection from the light source).
First the total reflection is divided between ambient and
non-ambient (=1-ambient). Then the non-ambient part
is divided between specular and diffuse
(1=-specular).
If whitespec is true (the default value), the
specular reflected light is white, otherwise it has the (local) color of
the object.
See also ambient, shine
and whitespec.
textcolor color
Set the text color.
text x,y,string | first | last
ctext x,y,string
wtext x,y,z,string
cwtext x,y,z,string
Render string onto the display.
In the first two variants the coordinates are given in two-dimensional screen coordinates (x,y), where x and y run from 0 to 1 for the bottom-left to the top-right of the screen. In the other variants the coordinates are given in three-dimensional object (world) coordinates, that correspond to the coordinates of the geometries displayed. Note that the text and ctext variants are not affected by rotation and scaling of the view, while wtext and cwtext are.
For text and wtext the coordinates specify the start (left side) of the string; for ctext cwtext the coordinates specify the center of the string.
Note that string may contain variables (see set); these are substituted by their value. Especially the system variable $column can be useful. In order to have the text replaced each time the value of $column is changed, write %column in the string instead of $column (otherwize the current value at the moment the command is given is substituted).
If there is already a text at (x,y), it is replaced by the new one. If string is empty, any text at (x,y) is deleted.
The color of all text is determined by the textcolor parameter.
Text in world coordinates is draw either before or after the objects. The latter is the default behaviour. The order is changed by the command text first or last. The order affects the effect of font antialiasing and visibility through transparant objects.
trans [name=]value
Set the amount of transparency to value.
Value must be between 0 and 1. The default value is 0 (i.e. opaque).
Technical note: qtriplot is not a true ray-tracing program; transparency is emulated by, for a transparent object, blending the pixel value of the object with what has already been drawn. As a result, if an opaque object drawn after a transparent one, the tranparent object will be completely obscured by the opaque one. To avoid this, qtriplot draws the objects in the order of increasing tranparency. Use this to make sure that an object inside another one is drawn first by making it less transparent. Note: the order in which objects of the same transparency are drawn is undefined (actually, it differs for different operating systems).
To avoid isofunction lines etc. at the back of a transparent object being visible, use zbuffer.
vecloop [name=] no | solid | stipple
Set in what way to display the vector loop (i.e: the trajectory of the tip
of the vector) for vector object name (see
vecfile).
vecorigin [name=]vector
Defines the origin of vector object name (see vecfile).
vecscale [name=]value
Defines the scale of vector object name (see vecfile).
whitespec [name=]bool
If whitespec is true (the default value), the specular
reflected light is white, otherwise (the default), it has the (local) color of
the object.
See also specular.
zbuffer [name=]bool
If an object is drawn, only pixels are drawn that are in front of anything that has
already been drawn before. The 'depth' of what is drawn, is stored in the
so called z-buffer of the pixel.
For transparent objects (see trans) the parameter zbuffer determines wether the z-buffer is affected by this object. If it is not, the object is completely transparent, and, for instance, isofunction lines at the back of the object are visible.
To avoid this, set zbuffer to true. Less transparent objects within this object will remain visible, as qtriplot draws the objects in the order of increasing transparency (see trans). However, for very non-convex objects this will have some inadversary effects: as the triangles are not drawn in the order of their 'depth', some triangles facing the observer but behind other triangles will shine through, and others will not. Also, see the technical note at trans.