ChristopherChudzicki / math3d-react

A user-friendly 3d graphing calculator for the web. Create, share, and animate 3d mathematical scenes.
https://www.math3d.org
Mozilla Public License 2.0
249 stars 34 forks source link

Could it be possible to interface math3D with a programming language? #235

Open prometeo2008 opened 4 years ago

prometeo2008 commented 4 years ago

I am used to plotting 3D surfaces with MATLAB, but MATLAB 3D graphs are static and non-interactive. On the other hand, MATLAB is a complete programming language. I am not going to ask you to build a new language program with the math3D features embedded, but maybe it could be possible to make some extension, plugin....you name it, to interface a programming language already known with Math3D-react

ChristopherChudzicki commented 4 years ago

First: thanks for the enthusiasm and for posting some issues!

I have thought it would be nice to be able to define functions and variables using javascript in addition to the WYSIWYG editor. That's probably the most "integration with a programming language" that I see as realistic for this project.

I'm not particularly familiar with MATLAB, but some alternatives you might try for interactive 3d graphics:

Personally, I have used all of these options, mostly math3d.org, CoCalc, and Mathematica. Sometimes I needed the full power of CoCalc/Mathematica, sometimes math3d.org was much more convenient.

prometeo2008 commented 4 years ago

I am still in the process of learning Mathematica. Well if it is through javascript it could be OK. I will take a look at CoCalc. I have had a glimpse of Geogebra some time ago, but now that I read about Geogebra, it comes to my mind a math software that it was really great: Geometer Sketchpad. With this software you can build idealized mechanical elements composed of levers, links, with some restrains in angle or position. You can move the thing as if where a working model, you can draw the path described by any point of the "machine" Can you put in math3D different objects that move one to another, like gears or levers in a machine?

prometeo2008 commented 4 years ago

Hi Chirstopher Then should we understand that the javascript integration is something that is implemented already or that will be implemented in a near future

prometeo2008 commented 4 years ago

Hi Christopher Sorry. I forgot that I am writing in English instead of speaking Spanish. No intonation help. I meant that: Is javascript integration something that is implemented right now or will it be implemented in the near future? ( I was thinking of starting a course on Javascript just for this purpose)

ChristopherChudzicki commented 4 years ago

@prometeo2008 Sorry for the slow reply. Re:

Is javascript integration something that is implemented right now or will it be implemented in the near future?

It is not implemented now; I also don't know when it will be. I'm very committed to bug fixes and keeping math3d up and running, but I've had less time to work on new features lately.

That said, javascript is great! Still good to learn.

prometeo2008 commented 4 years ago

Ok, Christopher. Thank you

o-b-o commented 2 years ago

I think maybe if we can solve the way to save code locally, we can also solve the way of interfacing with the library thru a program. Once you can get an instance of math3d running locally, you could read the data for a particular graph and abstract the construction into functions with some parameters to build the thing algorithmically instead of thru the gui.