Desmos Wiki (Unofficial)

Glossary

This is a collection of terms which are thrown around by Desmos users a lot and tend to be confusing.

Wackscope #

A wackscope is a variable which is dependent on a variable which isn't in the global scope, producing an error, but is used in a scope where it is defined, allowing it to work as normal. See the main article for more examples.

Expression #

"Expression" has several meanings in a Desmos context.

Definition 1: Anything in the Expression Panel #

It can refer to anything in the "expression panel" which by default is to the left of the screen on desktop and is on the bottom half of the screen on mobile. For example, in the graph below, is an expression, this is an expression, and so is the thing above! is an expression, the folder is an expression, and is an expression. Internally, these are also called "items."

Definition 2: Only Math Expressions #

A more restricted definition states that an "expression" only refers to the mathematical expressions. Applied to the graph above, this would mean that only and are considered expressions.

Definition 3: Anything that resolves to a value. #

The more "programmer-y" definition to "Expression" is that it refers to something that resolves to a value. So, for instance is an expression because it resolves to a value (), but is not an expression because it's an assignment operation which doesn't resolve to a value. Sure, it assigns a value to , but the entire block of code itself doesn't resolve to a value. You couldn't just do something like and expect it to make sense.

Expression Panel (Exppanel) #

The exppanel is the thing on the left-hand side of a Desmos window (or on the bottom on smaller screens or on mobile) where you write all your mathematical expressions.

Rectangular or Cartesian Equation #

A rectangular equation is one of the form , where can really be any function of . It's the classic kind of equation you might encounter in math class early on. Note that the variable on the left need not necessarily be . Here are some examples of rectangular equations:

Polar Equation #

A polar equation is one of the form . These equations relate an angle () to a radius (), effectively making them spirals. Because they have potential to loop around the origin forever, producing an inordinate amount of lag, they are domain-restricted by default. Here are some examples of polars:

Parametric Equation #

A parametric equation is one of the form . These equations are defined by defining a domain of -values (e.g. that must be between 0 and 1, though these bounds can be anything), plugging in those -values into the and functions, and then plotting the line formed as changes. These ones can be rather confusing to explain, so here is an example:

This parametric equation has ranging from 0 to 1. Its x-axis is defined by . Since t ranges from 0 to 1, the x-position of the line that's plotted ranges from to , or from 0 to 3. Similarly, since the y-axis is defined by , the y-position of the line ranges from to , or from 0 to 2.

Parametrics can help answer questions like "An ant is crawling on a board. Plot its position as a function of time " and others where you want to convert a 1D variable into 2D data.

Here are some more examples of parametrics:

Implicit Equation #

Roughly speaking, an implicit equation is an equation where you don't just have a single on one side. In other words, if you were to try to find a point on the implicit equation, you couldn't just plug in an -value— you would have to solve for first. Fortunately, Desmos can plot these anyway. Here are some examples.

Implicit Inequality #

When you have an implicit equation but use a condition other than , you get an implicit inequality. These generally have large, shaded-in regions. In common usage, even "solved" inequalities are called "implicit inequalities". Here are some examples.

Implicit #

Short for "Implicit Inequality". This can also be used to mean "Implicit Equation"

Note #

A "note" is an expression containing regular text, generally used to explain how a graph works.

Piecewise #

A piecewise is the "if-statement" of Desmos, allowing one to put branching logic into an expression. Here is the absolute-value function defined using a piecewise:

Action #

An action is an expression using the operator. It's used to update the value of an expression.

Ticker #

The action in a graph that can be run repeatedly in a loop. The following graph has a ticker which repeatedly increments

State / Graph State / State Object #

The above terms can refer to many things, but in many conversations they refer to a specific data structure that can be used to unambiguously and completely define a Desmos graph. Desmos uses graph state internally to store Desmos graphs. You can also use the Desmos API function Calc.getState() to get the state of the current graph and Calc.setState(state) to modify the state (where state is the state object).

Model / Item Model #

A "model" is the internal representation of an expression while the graph is running. It contains both all the data necessary to store the item as graph state, but also contains information that's only useful while the graph is running and loaded in, such as a reference to the UI element for the expression, the actual value the expression evaluates to, et cetera.

Graphpaper / Viewport #

The part of the screen that shows the stuff that's actually being graphed. This is on the right of the screen on larger screens, and on the top of the screen on smaller/mobile screens.

List Comprehension (Listcomp) #

A list comprehension is a feature in Desmos that aids in the construction of lists. For example, this list comprehension creates the list :

.

List comprehensions can also be used like cartesian products, iterating over multiple lists pairwise. Here is an example that generates a 3x3 grid of points:

Points #

2D coordinate points, which can be created in the form (where and are the x- and y-coordinates of the point, respectively).

Regressions #

The Desmos feature that allows you to fit a curve to data. See more about regressions here.

Transformation #

A "transformation" is generally a combination of the three following operations:

List Filter #

A specific feature in Desmos that allows you to filter values out of lists. For instance, if , then is because we only include the elements which are greater than 3. Note that you can also do things like where you're filtering one list using the criteria of another.

Bernard #

A famous shape that can generate in graphs of implicits with high-frequency data. Bernard is caused by a quirk in the quadtree algorithm used by Desmos. This is arguably the most famous example of Bernard:

Fill #

The interior of a parametric, implicit inequality, polygon, et cetera.

Stroke #

The line drawn by an equation, the edge of a polygon, et cetera.

Y-Up / Z-Up #

The convention for what axis should be considered "up" in a 3D coordinate system. Y-Up coordinate systems have Y as the up-axis and Z-Up coordinate systems have Z as the up axis.

Folder #

Desmos supports folders, which allow you to put multiple expressions into a collapsible section for better organization.

You can create a folder by typing the word "folder" into an empty expression, or by using the "+" in the top left corner and selecting "folder".

Label #

Labels are text attached to coordinate points.

DesModder #

DesModder is a browser extension which adds a lot of quality of life functionality to Desmos while still keeping graphs completely compatible with unmodded Desmos.

Geo Calc #

Short for "Geometry Calculator", referring to Desmos's Geometry Calculator

Regression Bug #

See this article on Reddit for info on the infamous "Regression Bug" that caused Desmos to become accidentally Turing-complete before adding actions.

Broadcasting #

Broadcasting is the ability for Desmos lists to do elementwise operations when it otherwise wouldn't make sense to operate on the lists themselves in that way. An example of broadcasting is how is .

Slider #

When you create a variable and set it equal to a constant number in Desmos, it creates a UI element that you can click and drag to change that variable's value. That UI element is called a slider.

Evaluation #

In Desmos, an "evaluation" is the box that displays below an expression which explains what it evaluates to. In the provided example, the evaluation is the box containing .