For those who don't know what is Irisplot, here is the
man page.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IRISPLOT(1) USER COMMANDS IRISPLOT(1)
NAME
irisplot,irisdraw,irishelp,irisdemo
SYNOPSIS
irisplot
DESCRIPTION
IRISPLOT is a command and menu driven interactive plotting
program which generates high quality graphics on the IRIS-4D
series machine. It reads instructions from the standard in
and produces plots based on these instructions. Once a plot
is done, the plotted graphical objects can be manipulated by
mouse input.
IRISPLOT accepts most of the standard C-Language mathematical
operators and functions. It also accept user defined constants
and functions. If no graphics is required,it can serve as a desk
calculator.
IRISPLOT allows you to define your favorite graphical objects
built from surfaces and curves, which in turn is defined from
mathematical functions, discreate maps, differential equations
and data files. The user has full control of the graphical
attributes, this includes viewing, orthogonal or perspective
projection, object transformation, object slicing, 8 different
light sources with different color and location, different
material properties for each object in plot.
IRISPLOT has a big set of online help informations and a
small set of examples.
COMMAND HISTORY
IRISPLOT keeps a full record of user commands; any command
user typed in can be refered by their index.
For example,
In[1] : f(x) = x**2 + 5*x + 1
In[2] : g(x,y) = y*(In[1]) .
A single command can also be refered by the '%' command.
For example,
In[3] : a = 2
In[4] : w(x,y) = x**2 + y**2
In[5] : %%
In[5] : a = 2
In[6] : %2
In[6] : g(x,y) = y*( x**2 + 5*x + 1).
DEFINITION SYNTAX
Function definition:
Any reasonable math expression is accepted by IRISPLOT. For
example,
f(x,y) = sin(x)*cos(y) * exp(1.0/(x*x+y*y))
g(x,y) = (y<1)?x:(x-y)*g(x,y-1)
h(x,y) = sin(x) *(4.0 + cos(y))
i(x,y) = cos(x) *(4.0 + cos(y))
j(x,y) = sin(y)*cosh(x) * g(x,y)
e = exp(1.0) *f(2.3,2.2)
w = sin(pi/3.0) * sqrt(2.0)
Note:
Here we've used the default dummy variables 'x' and 'y',
if you want to use other dummy variables, you can overwrite
the defaults('x','y','z' and 'w') by using the 'set dummy'
command (see below).
IRISPLOT knows most of the standard C-Language mathematical
operators and functions.
The built in Math operators are:
Binary operators:
Symbol Example Explanation
** a**b exponentiation [ instead of pow(a,b) ]
* a*b multiplication
/ a/b division
% a%b * modulo
+ a+b addition
- a-b subtraction
== a==b equality
!= a!=b inequality
& a&b * bitwise and
^ a^b * bitwise exclusive or
| a|b * bitwise inclusive or
&& a&&b * logical and
|| a||b * logical or
?: a?b:c * ternary operation
Unary operators:
Symbol Example Explanation
- -a unary minus
~ ~a * one's complement
! !a * logical negation
! a! * factorial
(*) Starred explanations indicate that the operator requires
an integer argument.
The built in standard functions are:
abs besj0 cos int sin
acos besj1 cosh log sinh
arg besy0 exp log10 sqrt
asin besy1 floor real tan
atan ceil gamma sgn tanh
rand srand imag arg
pow (power, need two arguments)
Material Property Definition:
A material property is defined by specifying the corresponding
attributes. For example:
red_mat = material{
emission 0.1 0.0 0.0;
ambient 0.2 0.2 0.2;
diffuse 0.6 0.0 0.0;
specular 1.0 1.0 1.0;
shinness 30.0;
};
For a complete understanding of the meaning of these attributes,
you should read the IRIS Graphical Manual (Vol. 1), Users Guide.
Surface and Curve definitions:
A surface can be defined by specifing its 3 coordinate func-
tions, or a mathematical function of 2 variables, or a data
file. A curve may be defined by specifing its 3 coordinate
functions or a data file. Contours can be defined by a function
or a data file. A trajectory of an iterated map is defined by
specifying the map, initial conditions and the number of iterations.
A trajectory of a differential equation is defined by specifying
the equations, the initial conditions, the time interval to be
integrated, the integration step and the method of integration
(currently, only 2 methods available, RK, 4th order Runge-Kuta
and RKQC, 4th order Runge-Kuta with step control). All the
definitions have their own attributes. For example,
a = surface{[h(x,y),i(x,y),j(x,y)] [x=-pi:pi] [y=-pi:pi]};
b = sur{[x,y,x*x-y*y][x=-3:3][y=-3:3][samp=20:20]};
c = sur{[sqrt(x*x+y*y)] [x=-3:3][y=-2.5:2.5]};
d = sur{["surface_data"] [samp=34:27]};
e = cur{[sin(x),cos(x),x] [x=0:20.0*pi] [samp=1000]};
f = cur{["curve_data"] [sample=1232][color=red]};
g = contour{[sin(x)*cos(y)][x=-4:4][y=-3:3][samp=30:26]
[number_of_contours=20][ contour_values: -1.0 0.0 1.0]};
h = con{["data"][sam=20:30][cont=5][threed][-2.0:-1.0:0.0:1.0]};
i = map{[y+1.4*x*x+1,0.3*x] [initi=0.4:0.5][iterate=6000]};
j = eqn{[10.0*(y-x),28.*x-x*z-y,x*y-8.*z/3.]
[ini=0.03,0.12,0.1][time=0.0:100][step=0.002]};
Graphical Object Definition:
Graphic Objects is defined from surfaces, curves, trajectory of
maps and differential equations, material properties and matrix
transformations. For example,
sphere = surface{[cos(x)*cos(y),sin(x)*cos(y),sin(y)]
[x = -pi:pi][y=-0.5*pi:0.5*pi] };
spheres =object{
material red_mat;
graph sphere;
pushmatrix translate -2.0,0.0 0.0;
graph sphere;
popmatrix;
material green=material{diffuse 0.0 0.6 0.0};
pushmatrix translate 2.0,0.0 0.0;
graph sphere;
popmatrix;
};
DATA FILE FORMAT
IRISPLOT currently accepts four kinds of data files:
GRID_DATA:
Data of a M by N grid. Used only in
surface and contour definitions. M and N must be
specified in the Surface or Contour definition.
Data of N points, used in curve definitions. N must be
specified in the Curve definition.
Format:
x1 y1 z1
x2 y2 z2
...
xN yN zN
POLYGON_DATA:
Data of M polygons (line segments) with number of
vertices spefied. Stored in the following way:
n
x1 y1 z1
x2 y2 z2
...
xn yn zn
n1
xx1 yy1 yy2
...
xxn1 yyn1 zzn1
...
CVN_DATA:
Explicitly defined by specify what the data represents. It
has the following format.
c r g b [specify a color, will be used by c3f()]
n nx ny nz [specify a normal, used by n3f()]
v vx vy vz [specify a vertex, used by v3f()]
p [specify a polygon or a polyline]
...
FEA_POLYGON:
First specify the # of vertices and the # of polygons, then
give the list of vertices followed by the polygon list.
nv np
x1 y1 z1
...
xnv ynv znv
n1 v1 v2 ... vn1
...
nnp v1 v2 ... vnp
nv1 np1
...
IRISPLOT will figure out what kind of data file by itself.
Note:
Line starts with # is a comment line. IRISPLOT will ignore it.
COMMAND SUMMARY
Plot:
The 'plot' command will produce a plot of the specified graphical
objects.
Syntax:
plot