Small Math - easy to use 2D/3D graphing calculator and CAS
Small Math 2D
Small Math 2D is application for visualization of two-dimensional mathematical objects written in Java. By now, it is in a very early stage of development and provides only a small fraction of future features. Yet, it can plot functions of one variable, parametric curves, implicit curves, dynamical systems defined by recurrence, ordinary differential equations (initial problems) and systems of two ordinary differential equations of any order (initial problems). Soon, new features will be added, among them: contour plot, colored height maps, complex numbers, inequalities and many more.
Screenshots



tan(x)
User’s Guide:
- Plotting a one variable function
- Plotting an implicit curve
- Plotting a parametric curve
- Plotting an ordinary differential equation
- Plotting a two dimensional system of ordinary differential equations
- Plotting a dynamical system defined by recurrence
Plotting a one variable function
Plotting a one variable function is very easy. It enables us to view variety of functions and “study” their properties. To gain more information on functions of one variable, see section Small math 2D - Examples.
- Choose item “Explicit curve” from menu “Plot”.
- Type the function you want to display.
- If you want to change the color of the curve, press the colored button and choose color of your like.
- Press “Draw”.
If you are not satisfied with the plotted function, click on its box on the right and proceed as described above.
Plotting an implicit curve
Plotting an implicit curve is easy as well. Implicit curves are zero sets of functions of two variables. Implicit curves let us display and study objects like circles, ellipses, hyperbolas, parabolas, elliptic functions and many more. To gain more information on implicit curves, see section Small math 2D - Examples.
- Choose item “Implicit curve” from menu “Plot”.
- Type the function of two variables
xandyyou want to display. - Set the number of divisions.
- If you want to change the color of the curve, press the colored button and choose color of your like.
- Then set the value of “Max error”.
- Press “Draw”.
If you are not satisfied with the plotted curve, click on its box on the right and proceed as described above.
Plotting a parametric curve
Parametric curves enable us to view objects known from high school analytical geometry, such as hyperbolas, parabolas, ellipses and so on. To gain more information on parametric curves, see section Small math 2D - Examples.
- Choose item “Parametric curve” from menu “Plot”.
- Type functions of variable
tto “x” and “y” fields. - Set the range of parameter
t. - Set the number of divisions of the parameter range.
- If you want to change the color of the curve, press the colored button and choose color of your like.
- Press “Draw”.
If you are not satisfied with the plotted curve, click on its box on the right and proceed as described above.
Plotting an ordinary differential equation
It starts being more interesting as we proceed to more sophisticated math. Ordinary differential equations let us study wide range of physical phenomena, for example oscillators or pendulums. To gain more information on ordinary differential equations, see section Small math 2D - Examples.
- Choose item “Differential equation” from menu “Plot”.
- Type the right side of equation of the form
y(n) = f(x, y, y’, y’’, …, y(n-1)), where instead of apostrophes you use numbers. Thus, if you want to write down second derivative ofy, you writey2. The number of initial conditions you write implicitly defines the order of the equation. - Type the initial conditions (
x0, y(x0), y(x0)’,…). - Set the number of divisions. (Actually this is not the exact count of iterations because of the use of the adaptive step. It determines only the lower bound of the iterations count).
- If you want to change the color of the curve, press the colored button and choose color of your like.
- Press “Draw”.
If you are not satisfied with the plotted curve, click on its box on the right and proceed as described above.
Plotting a two dimensional system of ordinary differential equations
Plotting two-dimensional systems of ordinary differential equations gives us opportunity to study ballistic curves, motion in central field, Lysajousse’s curves created by two orthogonal oscillators and much more. To gain more information on systems of ordinary differential equations, see section Small math 2D - Examples.
- Choose item “2D differential equation” from menu “Plot”.
- Type the right sides of equations
x(n) = f(t, x, x’, …, x(n-1) , y, y’, …, y(m-1)), y(m) = f(t, x, x’, …, x(n-1) , y, y’, …, y(m-1)), where instead of apostrophes you use numbers. Thus, if you want to write down second derivative of y, you write y2. The number of initial conditions you write implicitly defines the order of the equation. - Type the initial conditions
(x(t0), x(t0)’, …), (y(t0), y(t0)’, …). - Set the range for variable t.
- Set the number of divisions. (Actually this is not the exact count of iterations because of the use of the adaptive step. It determines only the lower bound of the iterations count).
- If you want to change the color of the curve, press the colored button and choose color of your like.
- Press “Draw”.
If you are not satisfied with the plotted curve, click on its box on the right and proceed as described above.
Plotting a dynamical system defined by recurrence
The plots of dynamical systems let us study wide variety of behaviours - from simple behaviours of simple systems to complicated behaviours of chaotic systems. To gain more information on dynamical systems, see section Small math 2D - Examples.
- Choose item “Recurrent system” from menu “Plot”.
- Type the right sides of equations
x(n+1) = f(x(n), y(n)),y(n+1) = f(x(n), y(n)) - Type the initial conditions
x(0)andy(0). - Set the number of iterations.
- If you want to change the color of the plot, press the colored button and choose color of your like.
- Press “Draw”.
If you are not satisfied with the plot, click on its box on the right and proceed as described above.
Notices about expressions’ syntax
You can use common functions like sin, cos, tan, asin, acos, atan, abs, sqrt, exp, log, ceil, round, floor, heaviside and factorial (for natural numbers). Arguments of a function must be closed in brackets, for example: sin(x+1).
The minus sign can’t be used in the way as in the next example: x*-1, but you must close it in brackets: x*(-1). Of course, you can use the minus sign as usually, for example: x-y.
There is a pretty nice way, how you can work with sums. For example if you want to plot sum of ten items of the Fourier series, you type: sum(1, 10, 1/n*sin(n*x)). Here, the first argument stands for lower bound, the second argument for upper bound and finally the third argument stands for expression which should be summed