There are four kinds of output: svg, threejs, matrix and text. An experimental x3d output is also available. The config dictionary in the update function should have its type set equal to one of these string values.

Multiple outputs are available by including a configuration dictionary containing a multipleOutputs entry as the third argument of the MathCell() command. The value for this key is then an array of arbitrary numerical values indicating the layout of the outputs. The data for the evaluate() function should then be an array of the usual data arrays. The configuration supplied to this function can either be a single dictionary for identical formatting of all outputs or an array of individual dictionaries.

Unless otherwise specified input data is an array of arrays of data points, i.e. a three-dimensional array. Both two- and three-dimensional outputs automatically omit nonnumerical data points. This allows the graphic to appear at least in part, but be aware that this occurs.

Colors are specified using standard HTML color code strings.


An svg output displays a two-dimensional plot of the input data with the options and default values

xMincalculated
xMaxcalculated
yMincalculated
yMaxcalculated
axestrue
axesColorblack
axesLabelsnone
backgroundColorwhite
equalAspectfalse
equalLimitsfalse
includeOriginfalse
includeVerticalsfalse
ticksautomatic

axesLabels is an array of two strings. ticks can be set to an array with two numbers determining distances between ticks, a value of 'auto' for either axis in this array or simply the string 'auto', as well as 'none' or false to disable ticks.


A threejs output displays a three-dimensional plot of the input data with the options and default values

xMincalculated
xMaxcalculated
yMincalculated
yMaxcalculated
zMincalculated
zMaxcalculated
animatefalse
animateOnInteractionfalse
aspectRatio[1,1,1]
axesfalse
axesLabels['x','y','z']
cameraFar1000
cameraNear.1
clearColorwhite
clippingPlanenone
decimals2
equalAspectfalse
frametrue
viewpointautomatic

axesLabels can be disabled independent of frame with a setting of false. clippingPlane is a dictionary consisting of a three-dimensional normal vector and a distance from the origin. viewpoint is a vector with respect to the center of the visible scene, not absolute world coordinates; the current viewpoint is automatically preserved between renderings upon manipulation of inputs.

lights can be specified as an array of dictionaries with type either 'ambient' or 'directional'. Both can take an HTML color and float intensity. A directional light can also have a position as an array of three coordiantes, and parent object of either 'camera' or 'scene'.

Additional options specific to individual objects:

materialphong
renderOrder0
singleSidefalse

Objects are drawn from numerically lowest renderOrder to highest.

material can take the additional values 'normal' or 'standard'. Individual materials have the additional options and default values

phongshininess20
 
standardmetalness.5
roughness.5

See the animations page for those two options, as well as how to include functions that are not part of standard JavaScript.


A matrix output displays the contents of a two-dimensional array in matrix form. You may need to adjust the width and height of the MathCell to show the entire array properly.


A text output displays the result of a calculation in raw form. The data for this output can be a number, a string or an array as desired. The output has one option and default

centerfalse

An x3d output displays a three-dimensional plot of the input data with the options and default values

xMincalculated
xMaxcalculated
yMincalculated
yMaxcalculated
zMincalculated
zMaxcalculated
frametrue
saveAsXMLfalse
viewerx3dom

Setting saveAsXML to true triggers a download to file. Available viewers are x3dom and x_ite, but threejs is a superior choice at this time. This output looks forward to future three-dimensional rendering standards.