There are a bunch of YouTubers making Desmos animations. I haven’t played with it myself, but always find it fascinating with what people come up with.
ENH: desmos [3d]: Support complex exponents; with i and/or a complex() function
Test equations for geogebra:
equation -- what I think it looks like
xi^2 -- Integer coordinate grid
e^xπi -- Unit circle with another little circle also about the origin (0,0)
e^(πi^x) -- crash / not responding: a(x)=e^(πi^(x))
though it seems to work with x in Z+
e**(x*pi*I)
e^(x π i^π) -- somewhat scale-invariant interposed spirals around a single point attractor. (Zoom in/out)
Only SageMath preprocesses Python to replace XOR (^) with exp() or **, so:
What methods for visualizing complex coordinate(s) are helpful?
You can map the complex coordinate into e.g. the z-axis; or is complex phase - as is necessary to model [qubit] wave functions psi - just another high-dimensional dimension to also visualize?
What is the nature of the test? Is this something that plotters are notoriously prone to misrendering? If so, then do they do so in any predictable way?
This looks nice, and I could see using it in some cases when I teach 3D functions, especially for complex functions that require more accuracy. But when introducing 3D it's often nicer to have graphs that showing gridding rather than smooth curves. For most purposes I'll probably stick to CalcPlot3D. It also has some nice features for showing points and vectors on a function, doing contour plots, and a nice surface of revolution visualization.
Our math lab teacher in high school made us create a 2d functions representation on an infinite cartesian chart, with integrals and derivatives. Then I extended the program to print 3D functions with rotations and rainbow colours.
Was a great project in C#, since it all started with a dot on a canvas, and all the rest of things was composed extending the base objects.
Desmos is the best, free (as in cost) and easily accessible graphing calculator out there. I wish it was opensource though. I've even tried to make an alternative and it's really hard to match their functionality (or I'm just inexperienced). I hope an opensource alternative crops up.
GeoGebra is the closest I know, at least when limiting to copyleft [or theoretically the SQLite model would be fine, but it's pretty unique in dependability and selflessness for open source projects not subject to copyleft] "middle/high school (constructive?) geometry & function graphing teaching aid" classroom-grade robustness:
bored & curious children are somewhat creative in their play/"(ab)use" of teaching/classroom software: buggy/anti-intuitive software can't survive the combination of:
- bored curious children playing around, bright and capable curious children exploring (way) beyond what the teacher explained,
- normal students just getting by with the topic and relying on the software to aid their subject matter comprehension,
- and teachers trying to plan lessons around it where they have to rely on it not needing a tutorial because there wouldn't really be time for such in the curriculum schedule.
Desmos does have a Github page, but unfortunately the main codebase is not public. Their API docs are well written, though, so it's really easy to embed Desmos into your site.
I've been using GeoGebra for years. I have tried Desmos twice but couldn't immediately spot the differences. What are the benefits of Desmos over GeoGebra?
I'm not sure how reliable it is, but here's[1] an old Reddit comment describing the method that Desmos (2D) uses. That method works in 3D, so maybe Desmos 3D uses it, too.
After playing a bit with it, it looks like some variant of the marching cubes algorithm, and it looks recursive, as expected. Same as your Reddit thread but in 3D.
There are most likely a bunch of optimizations, but I can't think of another way of doing it. There are raytracing/raymarching techniques too, but these look different, and they are most likely cost prohibitive for arbitrary function. There is the marching tetrahedra algorithm too, but I doesn't look like it and don't see a reason to use it now that the patent for the marching cubes algorithm has expired.
This is fantastic! So easy to move, zoom and rotate the graph with exactly the mouse buttons you'd expect. In most even commercial math packages this is always super clunky
How does one move with the mouse? I could only find gestures for rotation and zoom; for movement I had to resort to manually entering coordinates in the settings.
Fun, there was a program for the Amiga called "Doug's Math Aquarium" which I found to be pretty neat, it has a lot of that feel. Don't know how to get it to insert i (aka sqrt(-1)) but that can be worked around. Another fun thing would be color gradient for magnitude. Definitely fun times and super quick.
Desmos is honestly probably one of the best things to come out of the web- it's an impressive tool and I am truly thankful for all the insight it's given me in my mathematics classes. Super stoked to see what bananas things the desmos community makes with this!
The 2D calculator could already display 3D curves with a projection layer [1], but it's nice to have it built-in. I built a few models of analog hardware with that trick that brought it to its knees back in 2016.
[+] [-] tanvach|2 years ago|reply
https://youtu.be/4_8eY_Ij-5k
[+] [-] imiric|2 years ago|reply
Explanation of the above video: https://www.youtube.com/watch?v=6tBkJhmpfFc
[+] [-] seanp2k2|2 years ago|reply
[+] [-] shultays|2 years ago|reply
https://www.youtube.com/watch?v=XvS_yBj-nDM&list=PL2lqjYK9wC...
[+] [-] WithinReason|2 years ago|reply
Edit: also sin(x)sin(y)sin(z)+0.1sin(10x)sin(10y)sin(10z)>0.1
https://www.desmos.com/3d/85d41ad6c6
[+] [-] westurner|2 years ago|reply
Test equations for geogebra:
Only SageMath preprocesses Python to replace XOR (^) with exp() or **, so: Sympy Gamma: https://gamma.sympy.org/Sympy Beta is SymPy Gamma compiled to WASM: https://github.com/eagleoflqj/sympy_beta
What methods for visualizing complex coordinate(s) are helpful? You can map the complex coordinate into e.g. the z-axis; or is complex phase - as is necessary to model [qubit] wave functions psi - just another high-dimensional dimension to also visualize?
[+] [-] JadeNB|2 years ago|reply
[+] [-] RichieAHB|2 years ago|reply
[+] [-] iandanforth|2 years ago|reply
[+] [-] jlhawn|2 years ago|reply
[+] [-] avitzur|2 years ago|reply
[+] [-] huhtenberg|2 years ago|reply
[+] [-] Yhippa|2 years ago|reply
[+] [-] amathprof|2 years ago|reply
https://c3d.libretexts.org/CalcPlot3D/index.html
[+] [-] silcoon|2 years ago|reply
Was a great project in C#, since it all started with a dot on a canvas, and all the rest of things was composed extending the base objects.
(x^{2}+9/4y^{2}+z^{2}-1)^{3}-x^{2}z^{3}-9/(80)y^{2}z^{3}=0
[+] [-] titaniumtown|2 years ago|reply
Edit: Seems there has https://www.geogebra.org/
[+] [-] namibj|2 years ago|reply
- bored curious children playing around, bright and capable curious children exploring (way) beyond what the teacher explained, - normal students just getting by with the topic and relying on the software to aid their subject matter comprehension, - and teachers trying to plan lessons around it where they have to rely on it not needing a tutorial because there wouldn't really be time for such in the curriculum schedule.
[+] [-] BD103|2 years ago|reply
[^1]: https://github.com/desmosinc
[^2]: https://www.desmos.com/api/v1.8/docs/index.html
[+] [-] omneity|2 years ago|reply
It never disappointed!
Desmos looks like a solid spiritual successor, if it wasn't closed source.
[+] [-] soegaard|2 years ago|reply
https://www.geogebra.org/m/pR5DME5S#material/yumfrbjr
I don't understand how their license and the GPL can co-exist?
[+] [-] knlje|2 years ago|reply
[+] [-] creata|2 years ago|reply
I'm not sure how reliable it is, but here's[1] an old Reddit comment describing the method that Desmos (2D) uses. That method works in 3D, so maybe Desmos 3D uses it, too.
[1]: https://www.reddit.com/r/desmos/comments/qlhmbc
[+] [-] GuB-42|2 years ago|reply
There are most likely a bunch of optimizations, but I can't think of another way of doing it. There are raytracing/raymarching techniques too, but these look different, and they are most likely cost prohibitive for arbitrary function. There is the marching tetrahedra algorithm too, but I doesn't look like it and don't see a reason to use it now that the patent for the marching cubes algorithm has expired.
[+] [-] anthk|2 years ago|reply
https://github.com/lcn2/calc
inb4 dc(1)/bc(1)... calc supports complex numbers, C-like pseudo structures/functions, custom decimal points and lots more.
Also, calc/gnuplot will run on a toaster or even legacy systems from 20-25 years ago.
[+] [-] Aardwolf|2 years ago|reply
[+] [-] mkishi|2 years ago|reply
[+] [-] andybak|2 years ago|reply
[+] [-] ge96|2 years ago|reply
Makes me think of space maps for some reason in scifi
Edit: I know there's cool stuff to graph like saddle from calc 3
[+] [-] ChuckMcM|2 years ago|reply
[+] [-] JohnScolaro|2 years ago|reply
[+] [-] taylorbuley|2 years ago|reply
[+] [-] promiseofbeans|2 years ago|reply
[+] [-] HeWhoLurksLate|2 years ago|reply
[+] [-] RomanPushkin|2 years ago|reply
[+] [-] franky47|2 years ago|reply
[1] https://www.desmos.com/calculator/atydw7bpnu
[+] [-] njn|2 years ago|reply
On github at https://github.com/ccnmtl/3demos