Newt Screenshots

Below is a break down of the main modules offered by Newt and some screen shots to give you a feel for what it can do and what kind of interface we've gone for. The images are quite large, so be warned if you're on a slow link.

Menu 1 Screen Shot

Menu 2 Screen Shot

Configuration


We've aimed to keep Newt as flexible as possible. Newt allows up to 9 different user defined functions to be entered and used in an expression in any of the modules. The options screen shot indicates the control you have over some aspects of Newt. 3D axes can be automatically scaled for optimal viewing. The range can be set to be automatically fitted to a function the user enters. Grid spacing can be varied or Newt can calculate it automatically. Error bounds may be calculated based on the screen resolution or entered as a user defined value. Trigonometric arguments may be entered in radians, gradians or degrees. Newt will even try to remember the functions you've used between modules (if they are valid within the current module).

The user can also disable modules, or even online help and refuse to display the user defined functions. These latter options only take effect if Newt can write to it's configuration files. By placing Newt's configuration files on a read-only network drive an administrator can effectively bar users from using certain modules (useful in test situations).

All plotting colours in Newt are configurable. This ensures that the user is able to work with a colour set that is easy to see. This is especially helpful for people who suffer from the various forms of colour blindness.

Printing


Printing was a major goal for me. Newt allows the user to print anything they've plotted. Because it uses the Windows API to print, colour and black and white printing is supported. Newt also supports labels which can be placed anywhere on an image to be printed. It will also let you add a title and footnote to your printed output.

Graphing Functions


This module offers the standard plotting deal. Newt can plot up to 9 functions simultaneously, supports the ability to zoom in by dragging a rectangle around the area of interest, and will evaluate a function at a point where the user right clicks on the curve. Newt supports functions containing up to three different constants, which may be stepped independently. New supports a wide range of functions and handles shortcuts (such as implicit multiplication). Newt also attempts to locate and indicate the existence of asymptotes. A nice feature (we feel) is that any constant values Newt requires (for any module) can be entered as an expression (which must of course evaluate to a constant). Newt recognizes pi and e as special constants. So when prompted for a domain and range values like 2sin(pi) are legal. A function evaluation dialog box allows the user to evaluate a function is a less haphazard way than right clicking on the curve. Newt supports a number of 'special' functions, such as various stages in the construction of the Blancmange curve, a function for function composition, Taylor polynomials, and a function which can be used to make plotting Fourier series' easier. Here is a proper rundown on what Newt will actually accept.

Plotting Surfaces


Functions of two variables are quite often tricky to visualise. Newt makes this much easier by doing it for you (doesn't get any easier than that). Newt allows the user to re-orient the axes interactively, and can plot contours. The grid used to plot a function may be refined, and lines along which x and y are constant may be toggled on and off.

Finding Roots


Newt has support for the bisection method, regula-falsi, Newton-Raphson, Muller, the secant method and the fixed point method. All are graphically illustrated. The user can watch what happens as a method locates a root, or step through the root finding process interactively. The ability to zoom by dragging an area holds for this module (as well as the integration, differentiation, 2D parametric and 2D dynamical systems modules).

2D Parametric Curves
3D Parametric Curves


Newt supports 2 and 3D parametric curves. The 3D axes can be oriented in the same way as the surface plotting module. The user can select an arbitrary domain for the independent variable, t, as well as a step count allowing the user to refine the curves Newt plots. The help provided describes, with examples, how this module can be used to plot 2D polar functions. With suitable extensions there is no reason why spherical and cylindrical polar curves can't be visualised.

Slopes and Differentiation


Newt allows the user to graphically explore Newton's method of approximating a tangent to a curve, with numerical feedback. It also allows the user to interactively plot the slope curve of any function. This module is nice for visualising exactly what it means to find the derivative at a point by taking the limit. The module will also plot derivative curves numerically.

Area and Integration


Newt supports Left, Right, Middle, Random, Trapezium, Simpson, and Newton-Cotes 4th order numerical integration, all illustrated graphically and interactively. Newt allows the user to specify the step count and limits of integration. Just like the Slopes module above, this module helps the user visualise integrating as finding the (positive) area beneath a curve. The module will also plot a member of the family of functions whose derivative is the plotted function.

Slope Fields and Differential Equations


Newt makes it possible to visualise the slope field for any first order differential equation. Newt can also plot solution curves to initial value problems interactively, using any of four methods: Euler, Euler with predictor, 2nd order Runga-Kutte, and 4th order Runga-Kutte. Slope fields are a nice visual way of getting a 'feel' for how a differential equation's behaves if started from a given point.

Second Order Differential Equations


By reducing a second order differential equation to a system of first order equations, Newt can numerically evaluate these equations using standard methods for first order equations (Euler, Euler with predictor, 2nd order Runga-Kutte, and 4th order Runga-Kutte). This allows the user to explore second order equations visually.

Phase Portraits and 2D Dynamical Systems


Phase portraits are incredibly useful, and tedious to plot by hand. Newt will plot a phase portrait for you numerically, allowing you to zoom in on interesting regions. The grid used to plot the phase portrait may be refined, and initial value problems may also be plotted. Newt will also plot multiple phase portraits over one another (in cycled colours) to allow for a visual comparison. Newt will also plot solution curves for the system. This can be used to illustrate some of the classic models with two variables, such as a predator-prey model.

Phase Volumes and 3D Dynamical Systems


Newt will also plot phase portraits for a system of three dependent first order differential equations. The axes may be oriented interactively, as with the other 3D modules. Be warned, you'll need plenty of imagination and patience (and you'll probably have to play extensively with the axes) to get a feel for what a particular system looks like. Newt offers some help though. The user can select a smaller subset of the space you are looking at from which to select the initial values for a phase portrait. Newt will also let the user choose whether or not time is run forwards, backwards, or both, when each curve for the phase portrait is drawn.