23
$\begingroup$

I need any plot software on Linux or Windows that my students should use it for plotting 3D functions. I want introduce any software that be free and useful for bachelor students.

$\endgroup$
3
  • $\begingroup$ I need a program that be so simple and students without any programming knowledge can plot functions only by entering related function. As like as KAlgebra software. $\endgroup$
    – Huseyin
    Mar 14, 2014 at 13:16
  • $\begingroup$ for two dimensions, something I have enjoyed, nice share features as well as low effort animation; desmos.com . I hope the three dimensional analog of this is here within the next few years, it seems we're finally close to that reality. Maybe the next version of geogebra... $\endgroup$ Jul 9, 2014 at 18:31
  • $\begingroup$ Related: Calculator Similar to Desmos but for 3D $\endgroup$ Dec 26, 2018 at 14:17

13 Answers 13

15
$\begingroup$

In terms of free software, a large portion of the available choices are based on a Gnuplot backend; I however would probably not recommend directly using Gnuplot. Instead, your choices are mostly between the various front ends. In terms of the front end, depending on what your students are familiar with and are willing to learn, there are many options.

  • matplotlib is extremely powerful and configurable, but requires some amount of Python programming from the students.
  • Sympy also is based on the basic Python syntax, but its interface and use may be more familiar and accessible to people who have already some familiarity with a computer algebra system.
  • maxima and its GUI wxMaxima forms a freely available computer algebra system with a nice interface. In addition to using the gnuplot backend, Maxima also supports a different xMaxima backend for plotting.
  • The list goes on, but the gnuplot project page maintains a list of front-ends and programming interfaces using it.

For 3D plots of algebraic relations (polynomials etc.), a slightly less well-known program is surf, which was intended as a visualization aid for real algebraic geometry. Unfortunately development seems to have stopped several years ago, and recently I have had some difficulty building the source code on my Gentoo Linux machine. Your mileage with it may very well vary.

$\endgroup$
1
  • 1
    $\begingroup$ Just to note I much prefer the xmaxima frontend to maxima. $\endgroup$
    – vonbrand
    Jul 9, 2014 at 17:33
16
$\begingroup$

For undergraduate level, Gnu Octave is probably what you want. It is open source, cross-platform, and syntax-compatible with MATLAB. It's very useful for 2D and 3D plotting and for numeric linear algebra, and it's a tool that will be beneficial for students to know.

Also, GeoGebra is excellent plotting software, and has recently added 3D graphing support. It is not as powerful a tool as Octave, but is well-suited to simple plotting and rendering tasks.

$\endgroup$
6
  • $\begingroup$ This software belongs to experts. I need the simplest software then only input must be the function shape. $\endgroup$
    – Huseyin
    Mar 14, 2014 at 13:17
  • 3
    $\begingroup$ Your question specified undergraduate (bachelor's) level. MATLAB software is undergraduate level software. A 3D plot can be made in a few simple commands. If you're looking for something simpler, there are many websites that will plot simple 3d functions. Or try the beta version of GeoGebra. $\endgroup$
    – mkasberg
    Mar 15, 2014 at 0:08
  • $\begingroup$ I have two constraint. First restriction is be free of charge. Second is be very simple. Matlab is not free. About GeoGebra, where is beta version download link? $\endgroup$
    – Huseyin
    Mar 15, 2014 at 0:32
  • $\begingroup$ geogebra.org/forum/viewtopic.php?f=52&t=19846 $\endgroup$
    – mkasberg
    Mar 15, 2014 at 19:26
  • 1
    $\begingroup$ @Huseyin Matlab is free for students at many universities (mine and all of the other major ones in my city) It might be worth checking with the math/comp sci department at yours $\endgroup$
    – celeriko
    Oct 15, 2015 at 15:12
15
$\begingroup$

You might want to look into Geogebra. The current beta version (Geogebra 5 Beta) has a 3D mode and allows you to create 3D plots of a function of the form f(x,y) and a graphical interface for rotating, zooming, etc. It is also open-source, free, and cross-platform.

$\endgroup$
11
$\begingroup$

If you type a function into a Google search, you get a pretty nice graph. In order to get interactive 3d graphics, you will need a WebGL enabled browser (with WebGL actually enabled, of course). Try these for starters:

$\endgroup$
1
  • 1
    $\begingroup$ I knew that google did 2D plots, hadn't realized they supported 3D. Nice tip! $\endgroup$
    – erfink
    Apr 10, 2017 at 9:22
9
$\begingroup$

A free tool for Linux and Windows is gnuplot. This same graphical interface can be used from within Octave (as in mkasberg's answer), which is also free. I haven't used it in a while, so I don't recall the difficulty of use. It does have a set of tutorials available for download.

Sage is also available on Linux and Windows. It is a python based program. The matplotlib library provides graphing functions. I have not used this program, so I am unsure how simple it is to use.

If you are graphing functions of the form $z=f(x,y)$, then a number of online tools exist. One such tool is here.

$\endgroup$
4
  • $\begingroup$ I second the use of matplotlib. It won't be appropriate for all students, but those with a background in Python should be able to pick it up quickly. $\endgroup$
    – EuYu
    Mar 14, 2014 at 3:44
  • $\begingroup$ Sage can also be used online at sagenb.org or cloud.sagemath.com $\endgroup$ Mar 14, 2014 at 21:52
  • $\begingroup$ To clarify, Sage uses javascript solutions for 3d plotting, including jsmol and now three.js. $\endgroup$
    – kcrisman
    Apr 4, 2017 at 19:31
  • $\begingroup$ And even better, Sage now has the Sage Cell Server, so one doesn't need to install Sage, or create an account to use the Notebook. $\endgroup$
    – pjs36
    Apr 6, 2017 at 4:23
4
$\begingroup$

The computer algebra system maxima is nice (it is at the heart of open source packages like SAGE or GAP), and includes plotting functions. A version running on Android (even phones) is available too.

$\endgroup$
2
  • $\begingroup$ For graphing, does maxima just act as a front end for gnuplot? $\endgroup$
    – user507
    Oct 15, 2015 at 14:52
  • $\begingroup$ @BenCrowell, essentially yes on Linux. Don't have any clue on Android. $\endgroup$
    – vonbrand
    Oct 15, 2015 at 16:01
4
$\begingroup$

On Windows, Microsoft publishes their own software called Microsoft Mathematics:

Microsoft Mathematics provides a graphing calculator that plots in 2D and 3D, step-by-step equation solving, and useful tools to help students with math and science studies.

You can see it in action in this video.

Microsoft also publishes an add-in for Microsoft Word and Microsoft OneNote that allows you to create these plots directly in the Word or OneNote interface.

$\endgroup$
1
  • $\begingroup$ It looks like Microsoft has taken down their YouTube tutorial video now. $\endgroup$
    – user7990
    Aug 30, 2020 at 18:30
4
$\begingroup$

I made the following website with the aim of producing a Desmos-like experience in 3D for my multivariable calculus students.

math3d.org

You can use math3d.org to create simple surface plots or complex, animated visualizations. Some features:

  • Create and animate points, lines, vectors, curves, surfaces (explicit & implicit), and vecotr fields
  • Intuitive math input (powered by same library, MathQuill, as Desmos)
  • Save and share your scenes

Here are three scenes that I particularly like:

This project is on Github. If you find bugs or have ideas for improvements, please open an issue!

Note: This answer is mostly a re-post of my answer to a similar question Calculator Similar to Desmos but for 3D on Math StackExchange.

$\endgroup$
4
$\begingroup$

My students and I have been using

CalcPlot3D

It supports most of the visualization you would want in a multivariable calculus course: 3D graphs, vector fields, contour maps, parameterized curves and surfaces, etc.

$\endgroup$
3
  • 1
    $\begingroup$ Nice recommendation. I used to know a half-dozen of these, but it seems the use of Java somehow ruined it... at least for my attempts. But, this, seems to work. Thanks. $\endgroup$ Apr 10, 2017 at 3:21
  • $\begingroup$ Ya, javascript is definitely the way to go now (not Java or Flash). $\endgroup$ Apr 10, 2017 at 12:46
  • $\begingroup$ Just to clarify, note that CalcPlot3D now uses javascript, or at least the default one (linked to above) does. The Java one is still available, however, and apparently supports a few extra features (as of when the javascript version was released). $\endgroup$
    – kcrisman
    Apr 13, 2017 at 14:47
4
$\begingroup$

Sounds like you want them to learn something, so I would recommend the following:

  • Start students working with 3D plots in GeoGebra
  • Set up CoCalc
  • Introduce CoCalc to students having them create markdown documents pasting images of 3D plots and writing up problems, maybe using some LaTeX if you're comfortable.
  • Ease off the GeoGebra and move to Jupyter notebooks where you will move back and forth between using Python's matplotlib 3D plotting and R's ggplot.
$\endgroup$
3
$\begingroup$

I highly recommend wolframalpha.com

This is free, available on the internet without downloads, and is useful for many other classes.

$\endgroup$
3
  • 5
    $\begingroup$ This website is powerful and useful too. But some jobs as like as changing viewpoint is not possible. At least is not free. $\endgroup$
    – Huseyin
    Mar 13, 2014 at 23:50
  • 3
    $\begingroup$ I have had students type things like z=-x^2-5y^2 into Wolfram Alpha and tell me that the graph is a parabolic cylinder (ouch!). Also, interactive 3d plots are not free. $\endgroup$ Mar 19, 2014 at 21:25
  • 2
    $\begingroup$ The wolframalpha site (and integrals.com) is just a come-on for their expensive, proprietary products. Don't lock students into expensive proprietary software, or proprietary programming languages. $\endgroup$
    – user507
    Dec 28, 2018 at 2:16
3
$\begingroup$

For an easy-to-use software that is both simple and capable of ploting beautiful 3d graphs you can try downloading my Graphing Calculator 3D software.

It supports explicit and implicit equations, parametric equations, cartesian, polar, cylindrical and spherical coordinates.

$\endgroup$
4
  • $\begingroup$ It freeze when I am trying to open it. $\endgroup$
    – Huseyin
    Oct 13, 2014 at 18:27
  • $\begingroup$ Which operating system(s) do you have? At what point during the startup does it freeze? $\endgroup$ Oct 13, 2014 at 22:29
  • $\begingroup$ I use Linux mint 17 and that is freezing when it is opened. $\endgroup$
    – Huseyin
    Oct 18, 2014 at 13:44
  • 2
    $\begingroup$ @quid Thanks for the suggestion. I updated the wording of my answer to reflect the fact that I'm the creator of this software. $\endgroup$ Oct 15, 2015 at 14:18
2
$\begingroup$

A new player on the scene is called Desmos. It's oddly... pretty. It's also super simple to use.

The website is here: Desmos

Sliders can be added rather easily. If you're in the calculator and want to do transformations for example, you might type:

$y=sin(nx)$ -- it will ask you if you want to add a slider for n. This is doable for any number of sliders (so, $y = a(x-h)^2+k$ ); you can restrict the values to integers or to certain ranges, etc. Polar graphing is also available. It's easily explorable.

Of course the benefit of this is that anyone can use it on any computer, no installing.

Additionally, the graphs can be imported to other documents or e-mailed easily if a student is trying something and needs to show you their graph when not in your presence!

If anyone else has used this and has comments, suggestions, or negative experiences I know that I'd love to hear them!

$\endgroup$
3
  • $\begingroup$ Desmos is very nice! Additionally to what you note it can plot implicit equations and parametric equations. And make animations (small movies). $\endgroup$ Nov 17, 2014 at 17:37
  • $\begingroup$ The OP is asking about surface plots. Desmos doesn't support those, does it? $\endgroup$
    – user507
    Oct 15, 2015 at 14:50
  • $\begingroup$ Strange that I don't remember the original question being about 3D... has it been changed? Oh well! Sadly, Desmos doesn't have that ability fully yet... However! Someone has generously created a sheet that can do it using some pretty great math (with some explanations) desmos.com/calculator/nqom2ih05g $\endgroup$
    – Zach Haney
    Oct 16, 2015 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.