[HN Gopher] Desmos 3D graphing calculator
___________________________________________________________________
 
Desmos 3D graphing calculator
 
Author : benpm
Score  : 188 points
Date   : 2023-10-12 16:05 UTC (4 hours ago)
 
web link (www.desmos.com)
w3m dump (www.desmos.com)
 
| titaniumtown wrote:
| 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.
| 
| Edit: Seems there has https://www.geogebra.org/
 
  | knlje wrote:
  | 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?
 
    | titaniumtown wrote:
    | I haven't heard of GeoGebra before! Really cool. Thanks for
    | pointing that out.
 
      | drsopp wrote:
      | I just want to chime in on Geogebra. I used it (was more or
      | less forced to) when teaching math in high school for about
      | 12 years. It is great for guided exploration, but it is
      | very buggy. I am confident many students must have lost
      | points in their math exams because of some of those bugs.
 
    | lights0123 wrote:
    | Desmos has a far smoother UI. Geogebra will often convert
    | equations into its own format after clicking away from the
    | equation editor, and if you mistyped or want to change the
    | structure you must erase and re-type the whole thing--for
    | example, typing f(x) will convert the equation into its own
    | format where you can't edit parameters or the function name.
    | Desmos leaves your input as text, allowing you to change
    | input at the character level. From my high school experience
    | where both were used frequently, a lot of frustration was
    | expressed with Geogebra where missing a parenthesis forced
    | you to re-type the entire equation since it often assumed the
    | bulk of your equation was a parameter, and there was no way
    | to correct it.
 
      | nsajko wrote:
      | > frustration was expressed with Geogebra where missing a
      | parenthesis forced you to re-type the entire equation since
      | it often assumed the bulk of your equation was a parameter,
      | and there was no way to correct it.
      | 
      | I believe this may simply be a case of not knowing Geogebra
      | well, or it's simply caused by differences in taste/being
      | accustomed to a single user interface. In my experience,
      | Geogebra offers the ability to edit the source of any
      | object after selecting its settings. So it was just two
      | clicks away.
      | 
      | This is Geogebra the Electron app, though, I think there's
      | also a Web app and I think there was also a Java app some
      | time before.
 
  | namibj wrote:
  | 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.
 
    | Xerox9213 wrote:
    | One of my favourite things about (desktop) Geogebra is its
    | ability to export to tikz. Making complicated geometric
    | shapes in a latex file can be done so easily with Geogebra.
    | Perhaps not as elegant as Castel, but still quite nice.
    | 
    | https://castel.dev/post/lecture-notes-1/
 
  | omneity wrote:
  | I've been using Geogebra since it was recommended to me by my
  | high-school math teacher, what feels like almost a century ago.
  | 
  | It never disappointed!
  | 
  | Desmos looks like a solid spiritual successor, if it wasn't
  | closed source.
 
  | BD103 wrote:
  | 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.
  | 
  | [^1]: https://github.com/desmosinc
  | 
  | [^2]: https://www.desmos.com/api/v1.8/docs/index.html
 
  | soegaard wrote:
  | Commercial usage og Geogebra needs a license.
  | 
  | https://www.geogebra.org/m/pR5DME5S#material/yumfrbjr
  | 
  | I don't understand how their license and the GPL can co-exist?
 
| WhereIsTheTruth wrote:
| Wow this is painfully slow, the CPU usage for rotating the scene
| is insane, I can't look at the code right now but wow.. I expect
| better from them
| 
| EDIT: If you are using Chrome, make sure you are on the latest
| version, the latest v118 fixed it for me
 
  | amanj41 wrote:
  | Could you share what function you plotted? A very simple z =
  | x^2 + y^2 worked fine so I'm curious where its limits are
 
  | harmonium1729 wrote:
  | Curious - do you have hardware acceleration disabled? Rotating
  | the scene shouldn't be hammering the CPU if hardware
  | acceleration is enabled. [disclaimer: I work at Desmos]
 
    | WhereIsTheTruth wrote:
    | I was using Chrome 117, looks like there was a new 118
    | update, it now is butter smooth!
    | 
    | Looks like 117 was just broken
 
      | harmonium1729 wrote:
      | Nice! Really good to know. We'll add that to our list of
      | device/browser combos that might cause trouble so that at
      | minimum we can warn folks. It's an early beta so we're
      | enthusiastically collecting any examples (system
      | configurations and also graphs) that cause problems, so if
      | you see anything amiss we'd love to hear about it
      | (feedback@desmos.com). [disclaimer: I work at Desmos]
 
        | Kon-Peki wrote:
        | Since you work at Desmos: is there any way to have
        | animated variables start/stop based on the value of some
        | other variable? Or functions that graph different
        | formulas based on a conditional? Etc.
        | 
        | For example, variable X is continuously cycling between
        | -10 and +10, but only when variable D is > 1. At my son's
        | school, there is a kind of interactive demoscene going on
        | using Desmos (the kids believe that the school cannot
        | block Desmos from the Chromebooks, therefore they will
        | always have it available).
 
        | harmonium1729 wrote:
        | Fun question. There are a couple options:
        | 
        | (1) the more straightforward (but less powerful) option
        | is to use the dynamic bounds for a slider. Here, "a" is
        | set to animate, but the bounds don't let it move if b=0:
        | https://www.desmos.com/calculator/mqhhpso67r
        | 
        | (2) the more general feature that allows for complex
        | scripting behavior is called "actions." Here's an example
        | that uses that, where it's more of a genuine play/pause:
        | https://www.desmos.com/calculator/gzqwx36lo0
        | 
        | It's a beta feature that needs to be enabled, but anyone
        | can turn it on. More here: https://help.desmos.com/hc/en-
        | us/articles/4407725009165-Acti...
 
        | Kon-Peki wrote:
        | Thanks! I will pass those on
 
  | TrackerFF wrote:
  | Smooth as butter here, instant changes and fast rendering.
  | v117.0.5938.152
 
| HeWhoLurksLate wrote:
| 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!
 
| KeplerBoy wrote:
| what's the relationship between desmos and geogebra? is one a
| fork of the other one?
 
  | lights0123 wrote:
  | There is none, just competing products.
 
  | namibj wrote:
  | I don't think their codebases are particularly connected: AFAIK
  | Desmos is a client-side browser app, so the software is
  | distributed to the user for using in that way, which seems
  | incompatible with the GPL3+ licensing of the GeoGebra codebase.
  | 
  | https://github.com/geogebra/geogebra
 
| chaosprint wrote:
| Curious if this is using WebGPU
 
  | luketaylor wrote:
  | It's WebGL, not WebGPU
 
| WithinReason wrote:
| Well it passes the sin(x)sin(y)sin(z)>0.1 test
| 
| Edit: also sin(x)sin(y)sin(z)+0.1sin(10x)sin(10y)sin(10z)>0.1
| 
| https://www.desmos.com/3d/85d41ad6c6
 
  | westurner wrote:
  | 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^xpi -- Unit circle with another little circle
  | also about the origin (0,0)         e^(pi^x) -- crash / not
  | responding: a(x)=e^(pi^(x))                     though it seems
  | to work with x in Z+         e**(x*pi*I)              e^(x p
  | i^p) -- somewhat scale-invariant interposed spirals around a
  | single point attractor. (Zoom in/out)
  | 
  | Only SageMath preprocesses Python to replace XOR (^) with exp()
  | or **, so:                 f(x) = x^2       g(x) = x**2  #
  | Python       h(x) = exp(x, 2)       x**2         # SymPy Gamma,
  | Beta            x**math.pi   # Python: 3.141592653589793
  | x**pi        # SymPy: p            x**1j        # Python
  | x**I         # SymPy            x**(1+I)    # BUG/ENH: Plot
  | complex expressions with SymPy            import sympy as sy
  | display(sy.E, sy.I, sy.pi)       from sympy import E, pi, I
  | x,y = sy.symbols('x,y', real=True); display(x,y)       eq01 =
  | sy.Eq(y, E**(x*pi*I)); display(eq01)       eq02 = sy.Rel(y,
  | E**(x*pi*I), '=='); display(eq02)       func01 =
  | sy.Function('f')(E**(x*pi*I)); display(func01)       func02 =
  | sy.Function('f')(eq02.rhs); display(func02)       assert eq01
  | == eq01       assert func01 == func02            import
  | unittest       test = unittest.TestCase()
  | test.assertEqual(eq01, eq02)       test.assertEqual(func01,
  | func02)
  | 
  | 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?
 
  | RichieAHB wrote:
  | My phone gets pretty warm when I zoom out but the UI remains
  | nice and responsive ...
 
    | xchkr1337 wrote:
    | the actual rendering code is ran using a webworker in a
    | separate thread
 
| andybak wrote:
| The equation editor is so intuitive. Here's something I got from
| just typing in stuff and tweaking it:
| https://www.desmos.com/3d/6f4cd9930d
 
| zem wrote:
| didn't realise desmos had a desktop client, but i've been a happy
| user of their android app for years. best calculator on android
| by far.
 
| acc_297 wrote:
| Desmos has had a place in my bookmark bar for years now this is a
| very cool addition.
 
| Aardwolf wrote:
| 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
 
  | mkishi wrote:
  | 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.
 
| anthk wrote:
| I like calc paired with gnuplot.
| 
| 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.
 
| dang wrote:
| Related: https://blog.desmos.com/articles/beta-3d-release/
| 
| (via https://news.ycombinator.com/item?id=37771661, but no thread
| there)
 
| amathprof wrote:
| 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.
| 
| https://c3d.libretexts.org/CalcPlot3D/index.html
 
| tanvach wrote:
| 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.
| 
| https://youtu.be/4_8eY_Ij-5k
 
| soegaard wrote:
| Is Desmos open source ?
| 
| What's the pricing for commercial partners?
 
| creata wrote:
| Can someone here explain how this works?
| 
| 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
 
| ChuckMcM wrote:
| 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.
 
| JohnScolaro wrote:
| I can't wait to play Super Mario in this when someone inevitably
| makes a 3D rendering engine in it.
 
| tabiv wrote:
| This is my favorite online graphing calculator. It's been around
| for a while. It got me through pre-calculus.
 
  | mhh__ wrote:
  | I use it for (some) quant finance work. It's not a toy,
  | shockingly versatile.
 
| iandanforth wrote:
| Thank you to whomever thought about gimbal lock when designing
| the rotate controls.
 
| agentbellnorm wrote:
| I've been using their 2d graphing calculator since college and
| love it
 
| njn wrote:
| This is very cool. I'm involved with an open source project
| that's similar to this, called 3Demos:
| https://3demos.ctl.columbia.edu/
| 
| On github at https://github.com/ccnmtl/3demos
 
___________________________________________________________________
(page generated 2023-10-12 21:00 UTC)