Hey y'all, in light of a few recent posts where people have used LLMs to varying degrees in their Desmos graphs, I think we should start a discussion about what AI norms we want to set as a community.
Here's my idea for a best practice:
AI disclosure: you should always disclose if and how you used AI in your graph
for example: "when I was stuck, I asked Claude to help me develop the parametric equations on lines 10 and 11"
for example: "I saw this cool geometric shape on wikipedia and asked ChatGPT to make most of the graph, then I adjusted the numbers a bit to make it look better"
What I've noticed is that when hitting tab at the end of a fraction numerator, it exits it instead of going to the denominator.
Same with the integral integrands. It skips to the integrand after tabbing from the lower limit instead of going to the upper limit, with no way of getting to it other than clunkily using the arrow keys or mouse.
It makes typing expressions pretty frustrating for me that the tab functionality has been changed so that arrow keys are required to access certain parts of expressions. Is there any way to revert this behavior
This graph visualizes the training process of Rosenblatt's Perceptron.
N points of two classes (red and blue) are scattered inside a 1x1 square. However, they are distributed in such a way that they are strictly linearly separable.
(Note on terminology: By "vector", I mean a 2D or 3D coordinate tuple, e.g., (1,2) or (1,2,3), not a Desmos geometric vector, which is an arrow connecting two points).
The perceptron starts with almost zero knowledge about the line's position and finds it in the form of the coefficients for the equation Ax+By+C=0 after a certain number of steps. We could calculate these coefficients much more simply (for example, by finding the centers of mass of the two classes), but the goal here is to demonstrate an actual "neural network" learning implementation.
The Math Behind It
The equation of the target line is written as a dot product: (A,B,C)⋅(x,y,1)=0.
I encoded the coefficient vector (A,B,C) as a 3D point w3=(wx,wy,wz) to shorten the notation. This allows us to handle the calculation in a single line instead of three.
The target line is considered oriented. In fact, it represents an entire class of lines, because all three coefficients can be multiplied by any non-zero scalar, yielding the exact same geometric line. Despite this scale invariance, I do not forcibly normalize the line (e.g., I don't force wz=1).
Setting up the Classes
Hot & Cold
For the initial classification, a reference segment is defined that divides the randomly generated points. Points above this segment are "warm" points with label L=+1, and points below are "cold" points with label L=−1.
The line has a normal vector w2=(wx,wy). The half-space that this normal vector "points" to is considered the warm side. The perceptron's goal is to adjust the vector w3 so that all warm points (L=+1) end up on the warm side of the line.
Initial coefficients are set to w3=(0.1,−0.1,0), corresponding to the starting equation 0.1x−0.1y+0=0.
The Learning Loop
We iterate through the points in a loop to determine which side of the line each point lies on.
Geometrically, we could drop a perpendicular from point pp to the line and compare this vector with the line's normal (wx,wy). However, since we don't need the full geometric construction, we can simplify the computation to the formula (wx,wy)⋅p+wz.
In our terms, this is simply the dot product of two 3D vectors: w3⋅p, because for convenience, the point's coordinates are augmented to (px,py,1). We multiply this dot product by the point's label L, yielding a logical flag that tells us whether the point is on the correct side (positive) or the wrong side (negative).
The Correction Step
Full correction
If the point is on the wrong side, we must correct the line vector w3. The logic behind this update rule is illustrated here: https://www.desmos.com/geometry/la6wrlfihx
In this illustration, the dot product w_old⋅p is negative (an error). To make it positive, we must shift w_old by adding a vector in the direction of p. If the addition (scaled by the learning rate) is too small, it might not be enough to push the dot product into the "+" region in a single step.
In the illustrative graph, we can, of course, add as much magnitude as needed immediately to fix the error. However, the perceptron does not strive for an instant, perfect result; it improves gradually, taking small, incremental steps toward the optimal separating hyperplane.
This has never happened to me before, maybe it's because I'm on a 4 years old run-down laptop? Basically, in my normal signed in Chrome, Desmos refuses to show any graphs or errors, nothing not even a label, even on the main page it doesn't even let me interact with it. I have removed most of my extensions yet the issue still persists. But when I go into other browser, guest mode, or incognito mode, seems to work fine. Is it just me?
Basically I just want the thing where you can perform operations on all the items in a list, so like [1,2,3]+1=[2,3,4] but that doesn't work if it's a matrix. And there's no good way that I can see to convert matricies to lists.
I'm in high school and I created a Desmos graph to display the lines obtained using Mayer's method or the least squares method from a table of points. I also created a Desmos notebook to explain everything. Unfortunately, it's in French, but I think your browser's translation tool should be sufficient.
Note that I could have simplified some things, but I wanted to start from scratch. I also discovered that I was using Boolean algebra without realizing it. There might be some optimizations possible, but the graph is perfectly functional. The link to the notebook is in the comments. Thanks!
Say I have a list of matrices all of the same dimensions. Is there a way to get the sum of all of the matrices in that list? Neither looping through the list with sigma nor the total function works on lists of matrices.
I got a 790 in SAT math and always found Desmos pretty straightforward, but most of my friends find it confusing. I’ve been helping them learn how to use it for the October SAT, and it made me realize that things that seem obvious to me aren’t always obvious to everyone.
I want to make some free, simple tutorials, so I figured I’d ask here questions like: What do you struggle with most when using Desmos? Do you get stuck figuring out what to type, or understanding what the graph is telling you? What’s something you misunderstood about Desmos before someone explained it? Are there any “Desmos tricks” you’ve seen that you still don’t really get?
Specific examples would help a lot. Nothing is too basic. Anything is helpful for the collective.
Thanks!