Desmos graphing calculator https://help.desmos.com UI Left text panel. Top has gear for Edit List (I guess options for each row?). Colorful circles are styling buttons. Single-click to hide/draw; click-hold to configure. Can definitely use references to hidden equations. Only the initial def gets hidden. Enable/disable rows by toggling the style button. (there are rgb and hsv functions but looks like not applicable to styling). Items (rows) are added with + beneath the currently selected row. Far left of each row are styling buttons. To right is Edit List gear button. Row options available only in Edit List mode: convert to table, copy, delete. Table header cells have the left style button. Can click on "points of interest" in the graph. Can move values of points by enabling a drag option in the style menu. Can disable zooming and panning with option under 'Graph Settings' wrench. Also grid and axis. Basic text entry: " to add a notation row TAB key to end fractions, superscripts, subscripts ± does not work but I think often can approximate with: [-1,1]* vars and function names are single letters (incl. greek LC) with optional subdigit. x,y,t,r,θ get special behaviors. Use any other letters, or add subscripts for a normal var. t: get domain limits instead of slider prompt x: independent cartesian y: dependent cartesian, DEFAULT Consequently, to get inverse of named fn: x = f(y) θ: indendent polar r: dependent polar "pi" = π "sum" = ∑ (summaton operation) "theta" = θ (polar independent variable) "int" = ∫ (integration operation) "sqrt" = √ e (have all the LC greek characters from "words" but can use them as you wish other than π and θ. Data tables can also be in text rows. [I don't know what I meant by this] Polar: You MUST use θ as independent and r as dependent vars. How can define multiple??? Graph ranges Canvas (not function) ranges are set under 'Graph Settings' wrench, defaults to -10 to 10 x and y. (Used to have a 'Square Grid' option to lock that, but no more) Step range sets how often labels are written on the axes. Give equation range constraints, each in a {} (this constrains where it's evaluated, not the chart size). Points (3,2) As soon as you enter a point spec like above with any variable (that's not defined yet), you get options for a slider for each variable; EXCEPT for variable t just adds domain limit attributes defaulting to (0≤t≤1). Sliders don't need to slide-- can conveniently change the value manually. Once you have a slider, click on LHS or RHS limit to domain limits or step. Far left to set animation behaviors. [Undefined vars in tables are different than in points-- you must define them; again x,y,t,r,theta spl.] Click on graph to label location Multiple: (1,2), (2,1), (3,0) If you name a point by 'p = (1,2)' it gets draggable style. If a point definition includes a list then it becomes a list of points. Equations & functions If no [in]equality then it assumes you want: y = To re-use a function anywhere, instead of no-equation (previous point) or "y =", use "f() =". Can also give "implicit" relations where one side of equation is neither "f()" nor "y". Can generate a sample point table with row option Convert-to-Table OR define a point list which is just a point def that includes a list. After define a function, can define a point on the line for animation and other purposes like: (c, f(c)) Tables. You can dependent column heading to be exprs. or function calls to auto-gen the values. Add table columns by clicking where new heading would be. To insert row at top, click on first row and hit ENTER. Lists: [1,2] elements. List of points: [(1,2), (2,4)] Can import lists to tables by pasting a CSV or DSV or spreadsheet copy. Can use inline like: (0, [1,2,4]) [0...8] range of ints. For increment other than 1, give 1st 2 values. Can use these as samplings for a variable in your [in]equality or point specification. Some functions work with lists, like: total([2,3]) Table value entry can hit ENTER to continue adding entries linearly. Basic keyboard entry Fractions Key in: d/dx TAB (i.e. TAB ends fractions) Superscripts: ^2 Subscripts digit after a letter Folders. Just groupings of rows. Indicated by vertical gray bars. Click&drag to manipulate. Folder rows can be collapsed/expanded, disabled/enabled ~ Regression = curve-fitting. E.g.: y₁ ~ mx₁ + b where you have indep. var and at least one dep. defined in a list. It generates optimized values for the undefined variables and provides "plot" button to add residuals to your table. Derivatives and Integrals. d/dx and "int" Recursive functions. Just reference the new name on the RHS. You'll need to any one ind->dep value pair called "base case". Special functions. List them all with the keyboard icon then "functions" polygon((-2,2), (2,2), (0,-2)) or polygon(indVar,depVar). Can fully style the poly. total([list]), mean([list]) and other statistical functions