zou@math.arizona.edu (01/06/90)
developed a software called Irisplot for the IRIX 4D series machine. The following is the primary man page of Irisplot. If you are interested, send message to system@math.arizona.edu /************************** cut here ****************************/ 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 large set of online help informations and a big 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','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 themethod 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, stored in row's order. Used 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. 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 <object list> Set dummy: Set up the user prefered dummy variables. Syntax: set dummy <dummy variable list> Set window: Set up the window size. Syntax: set window <expression> Show: The show command will display some of the graphical attributes and user defined functions, graphs and graphical objects. It takes at leas one argument. The arguments are: functions --- display the user defined functions dummy --- display the dummy variables graph --- display the basic graphical units defined object --- display the defined graphical objects material --- display the material properties defined all --- display everything available Print: The 'print' command will display the value of a mathematical expression. Syntax: print <expression> Load: The 'load' command will load in a command file. The file should contain valid commands for IRISPLOT. It can be either a user created file, one created by the 'save' command or the irisplot record file. Syntax: load <'file name'> Save: The 'save' command will save some of the user definitions into a file. Valid save commands are: save functions "file_name" --- save the user defined functions into "file_name" save graphs "file_name" --- save the defined graphs into "file_name" save objects "file_name" --- save the defined objects into "file_name" save "file_name" --- will save everything above to "file_name" Help: The help command will display the online help. Syntax is help <topic> (You can get a list of topics by just typing 'help'.) Demo: Run a demostration program. Syntax: demo Exit, Quit: This command will terminate the execution of IRISPLOT. Shell: The 'shell' command spawns an interactive shell. To return to IRISPLOT, type 'exit'. A single shell command may be spawned by preceding it with a '!' character at the beginning of a command line. Reset: If IRISPLOT refuse to make a plot, type reset and retype the last plot command. FILES /usr/local/bin/irisplot /usr/local/bin/irisdraw /usr/local/bin/irisplot1 /usr/local/bin/irishelp /usr/local/bin/irisdemo /usr/local/lib/irisplot.hlp AUTHORS The front end code is modified from gnuplot 1.1.5 by Thomas Williams and Collin Kelley by Maorong Zou. The graphical driver was written by Maorong Zou. BUGS The program sometimes core dump with no good reasons.
zou@math.arizona.edu (01/06/90)
/************************************************************/ Hi again, Sorry the message was cut out by our news sender, the following is the repost of the message. /************************************************************/ Hello, The Math Department at The University of Arizona has developed a software called IRISPLOT for the IRIX 4D series machine. The following is the primary man page for IRISPLOT. If you are interested, send message to system@math.arizona.edu /************************** cut here ****************************/ 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 large set of online help informations and a big 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','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 themethod 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, stored in row's order. Used 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. 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 <object list> Set dummy: Set up the user prefered dummy variables. Syntax: set dummy <dummy variable list> Set window: Set up the window size. Syntax: set window <expression> Show: The show command will display some of the graphical attributes and user defined functions, graphs and graphical objects. It takes at leas one argument. The arguments are: functions --- display the user defined functions dummy --- display the dummy variables graph --- display the basic graphical units defined object --- display the defined graphical objects material --- display the material properties defined all --- display everything available Print: The 'print' command will display the value of a mathematical expression. Syntax: print <expression> Load: The 'load' command will load in a command file. The file should contain valid commands for IRISPLOT. It can be either a user created file, one created by the 'save' command or the irisplot record file. Syntax: load <'file name'> Save: The 'save' command will save some of the user definitions into a file. Valid save commands are: save functions "file_name" --- save the user defined functions into "file_name" save graphs "file_name" --- save the defined graphs into "file_name" save objects "file_name" --- save the defined objects into "file_name" save "file_name" --- will save everything above to "file_name" Help: The help command will display the online help. Syntax is help <topic> (You can get a list of topics by just typing 'help'.) Demo: Run a demostration program. Syntax: demo Exit, Quit: This command will terminate the execution of IRISPLOT. Shell: The 'shell' command spawns an interactive shell. To return to IRISPLOT, type 'exit'. A single shell command may be spawned by preceding it with a '!' character at the beginning of a command line. Reset: If IRISPLOT refuse to make a plot, type reset and retype the last plot command. FILES /usr/local/bin/irisplot /usr/local/bin/irisdraw /usr/local/bin/irisplot1 /usr/local/bin/irishelp /usr/local/bin/irisdemo /usr/local/lib/irisplot.hlp AUTHORS The front end code is modified from gnuplot 1.1.5 by Thomas Williams and Collin Kelley by Maorong Zou. The graphical driver was written by Maorong Zou. BUGS The program sometimes core dump with no good reasons.