User interface is organized into 3 blocks: input, canvas and result.
Input accepts free text input with the syntax similar to what user write on their notes.
Canvas is where 2D/3D graph is drawn. User can interact with camera parameter by hand gesture to zoom, rotate or pan the graph. Any change in camera parameter, cause recapture and update of result thumbnail that is saved per item.
Result stores a list of previous input in a scroll view. User can scroll to a certain item, flick to remove it, or tap to edit a graph. User can tap on Share icon on the top right to toggle sharing mode, check to select many items, then tap the icon again to share data.
Math keyboard has numbers, variables, functions and operators. Most of the work can be done using this keyboard. Press the "sin" key to loop among "sin", "asin" and "sinh".
Roman keyboard has numbers, and alphabet where user can input free style function names and variables that are not provided in math keyboard above. For example, "round", "ceil", "floor", "root3", "root4".
Greek keyboard has numbers, and Greek symbol for advanced notation like "φ" or "λ".
Newton Graphing Calculator comes with a powerful symbolic math engine, which recognize user input as close to handwriting as possible. There is no need to input many brackets or declare function argument. For example:
2D explicit curve `y, f, g, ...` is defined as a function of one variable within a range. For example, a sine curve or natural logarithm is defined as `y=f(x)`. Default range is `[-1..1]` or `[-π..π]`.
μ=0 σ=√0.2 f=1/σ√2π exp(-(x-μ)2/2σ2) x=-1.5..1.5
3D explicit surface `z, f, g, ...` is defined as a function of two variables within a domain. For example, pressure function that varies by space and time. Default domain is `[-1..1]` or `[-π..π]`.
r=√(x2+y2) z=sinr x=-2π..2π y=-2π..2π
Contour curve of 3D explicit surface is calculated by alternate form `f(x,y)=c` where `c` is subdivided along `[z1..z2]`. Default subdivision is 10, default range is `[-1..1]` or `[-π..π]`.
2D implicit curve `f(x,y)=0` is defined as a function of two variables within a domain. For example, intersection of 3D surface with XY plane, or intersection of two surfaces. Default range is `[-1..1]` or `[-π..π]`.
sin(x2+y)=exp(-xy) x=-5..5 y=-5..5`sin(x^2+y)=e^(-xy)`
sin(x+y)+cosxy=1 x=-2π..2π y=-2π..2π`sin(x+y)+cosxy=1`
3D implicit surface `f(x,y,z)=0` is defined as a function of three variables within a domain. For example, a sphere, paraboloid or hyperboloid. Default domain is `[-1..1]` or `[-π..π]`.
x2+y2-z2/4=1 x=-2..2 y=-2..2 z=-3..3`x^2+y^2-z^2/4=1`
2D parametric curve `(x,y)` is defined as a function of one variable within a range. For example, a particle trajectory may follow a curve `x=x(t), y=y(t)`. Default range is `[-1..1]` or `[-π..π]`.
x=sin2t/(4+t2) y=cost2t/(4+t2) t=0..2π
x=cosθ y=sinθ θ=0..2π
3D parametric surface `(x,y,z)` is defined as a function of two variables within a domain. For example, a sphere or cylinder is defined as `x=x(u,v), y=y(u,v), z=z(u,v)` where `[u,v]∈R^2`. Default domain is `[-1..1]` or `[-π..π]`.
x=sinv cosu y=sinv sinu z=cosv v=-π..0
k=0.3 n=1.5 r=0.2 R=1.5 A=rcosv+Rkcosnu+R x=Acosu y=rsinv+ksinnu z=Asinu s=1/(x2+y2+z2) X=sx Y=sy Z=sz u=0..4π v=-π..π
2D polar plot is recognized by inputting `r=f(θ)`. Given `θ`, we can determine `r`, from which `(x,y)=(rcost,rsint)`. Default range is `[0..2π]`.
Multiple functions `f, g, h, ...` can be plotted together to confirm their intersections. Function legend appears on the lower part of canvas. Multi parametric curve or surface is recoginized by function name starting with `x, y or z`. Default range is `[-1..1]` or `[-π..π]`.
r=1/(4+t2) x=rsin2t y=rcos2t f=rsin2(t) g=rcos2(t) t=0..2π
f=cosu sinv g=u cosv v=-π..0
k=0.3 n=1.5 r=0.2 R=1.5 A=rcosv+Rkcosnu+R x=Acosu y=rsinv+ksinnu z=Asinu s=1/(x2+y2+z2) X=sx Y=sy Z=sz F=0.5sinv cosu G=0.5sinv sinu H=0.5cosv u=0..4π v=-π..π
Complex number is recognized by special variable `i` where `i^2=-1`. Step-by-step answer is available with numerical approximation as final step.
Simple or partial derivative is calculated automatically when inputting explicit function.