Plasma is a program for the visualization of mathematical objects. When the program starts, a console is displayed with a text box for entering input at the bottom. As expressions are entered into the textbox, they appear in the space above the text box along with the evaluated results of the expressions. In this way Plasma can be used as a simple calculator and expression evaluator. However, the primary use of Plasma involves the plot functions, which cause the console to retract and draw a function, vector field, parametric curve, or parametric surface in the window. These plots can be time-dependent and they can be zoomed, scrolled, and rotated freely.
In 2D plots, dragging with the left mouse button down will scroll the plot. Dragging with the right mouse button down will draw a zoom box. Clicking with the right mouse button will zoom out. The mousewheel zooms in and out.
In 3D plots, dragging with the left mouse button down rotates the plot about the center of the plotting region. There are two modes for this rotation. The arcball mode acts as if you were grabbing the plot from the front and dragging it. This is probably the more intuitive mode, and it is on by default. Pressing i will toggle to the altitude-azimuth mode, where the drag distance in the window's x direction controls the azimuthal angle, and the drag distance in the window's y direction controls the altitudinal angle. This mode is sometimes easier to control. Dragging with the right mouse button down will scroll in the plot's x and y directions. Dragging with the middle mouse button down will scroll in the plot's z direction. The mousewheel zooms in and out.
Many of Plasma's features are controlled by pressing hotkey's on the keyboard. A complete list can be found in the Key Commands window on the Help menu.
It is very easy to turn a static plot into a dynamic plot in Plasma. Simply introduce a t into the expression and it will automatically be re-evaluated continuously with the value of t being incremented by an arbitrary value between each evaluation. The size of the increment can be doubled by pressing a and halved by pressing z. The time increment can also be negated, effectively reversing time, by pressing r.
An expression is anything you type into the text box, for example: Plot[Sin[x]] is an expression, and so is Sin[x]. Many functions in Plasma take expressions as parameters, which means that they can take anything for input, and figure out a way to deal with it. A string is a sequence of characters contained in quotation marks, for example "This is a string". Some functions will convert a variable name to a string, which may make it seem like quotation marks are not required. Note that Plasma ignores any spaces that are not in quotation marks. A list is a sequence of comma-delimited expressions in curly brackets, for example {This, is, a, list}. Lists can contain lists, in fact ListPlot[] requires a list of points, and points are stored as lists.
Variables can be defined using the assignment operator by entering: variable = expression. The expression is evaluated at the time of assignment and the variable is set equal to the result. Whenever variable is found in a subsequent expression, it will be replaced with this value. If you would rather not have the evaluation take place right away, or you want to include some parameters, then you can define a function by entering function[variable,...] = expression, where expression contains the variables. Then whenever a call to this function is made in a subsequent expression, it will be replaced with the expression and the parameters will be inserted in the appropriate locations. Variables and function definitions can be cleared with the Clear[] or ClearAll[] functions.
Global variables are used to control the appearance and behavior of the plot window and the plots it contains. For a list of all global variables, see Global Variables. These variables can be controlled directly from the console. To set a variable from the console, simply use the assignment operator described in the previous section, for example: $boxcolor = Color["Brown"] will change the color of the box around the plot region to Brown. Global variables can also be used in plot expressions, for example see the Mouse Follower example.
Plasma has the ability to draw many plots at the same time. For Plot[] and Plot3D[], it is possible to pass a list of functions to be plotted. For example Plot[{Sin[x],Cos[x]}] will plot both Sin[x] and Cos[x]. This only works when the plots are of the same type, but to plot a vector field with a function, for example, you will have to use the function MultiPlot[]. MultiPlot[] takes an arbitrary number of parameters (not a list, just comma separated with no curly brackets) and evaluates all of them. Each parameter should be a plot function containing a plot expression. For example MultiPlot[Plot[Sin[x]],VectorPlot[x,y]]. In order to change the properties, such as the color of these plots, you will have to use the tab key to cycle the selection.
The symbols x, y, z, u, v, and t are plot variables that are automatically set by the plotting engine during plotting. Pi and e are mathematical constants that are built-in.