3D graphics with Julia — Examples?

2,971 views
Skip to first unread message

Pieter Barendrecht

unread,
Dec 9, 2013, 6:07:26 AM12/9/13
to julia...@googlegroups.com
Hi,

I'm looking for a good approach to plot 3D spline surfaces (i.e. piecewise polynomial surfaces) from Julia. Gaston might be an option, Gadfly sounds quite interesting and the OpenGL package could also be a solution. However, I'm not entirely sure about the status of some of these packages — are they still up to date?

I'm basically trying to recreate my interactive plotting environment implemented in Matlab (interactive in the sense that it reacts to key or mouse events).

Any recommendations or examples are most welcome. I'm running Julia compiled from source on a 64bit Arch Linux machine.

Robert Ennis

unread,
Dec 9, 2013, 11:15:27 AM12/9/13
to julia...@googlegroups.com
The Gadfly package is practically always super up-to-date. DC Jones does lots of constant, great, and hard work on that package.

As far as I remember, the Gaston package should work with Julia 0.2.

The OpenGL suite of packages was just updated for Julia 0.2/0.3-prerelease yesterday (Thanks to one user who was having some trouble with it, I finally got off my lazy behind and finished the updates). It includes a massive function renaming to be consistent with the standard OpenGL specs and a huge increase in functionality for the base OpenGL package (thanks to the awesome work of the GoGL team). I personally run Julia compiled from source on two 64bit Archlinux systems, so I can assure that the OpenGL packages work there. The user I've been in correspondence with uses Mac (Mavericks) and has had success with the OpenGL packages there, too.

Jasper den Ouden has examples of a 3D plotting interface that he designed, while he was forming the foundation of the OpenGL packages. Check it out here: https://github.com/o-jasper/julia-glplot/blob/master/gl_plot.jl Note, that as it stands, his glplot routines will not work with the current OpenGL packages, but it should give a nice starting point for how to go about doing it.

Best,
Rob

Isaiah Norton

unread,
Dec 9, 2013, 11:30:57 PM12/9/13
to julia...@googlegroups.com
Winston has basic `surf` functionality that you could consider building on; see https://github.com/nolta/Winston.jl/issues/18#issuecomment-16217831 and the following comment.

Daniel Carrera

unread,
Dec 14, 2013, 1:37:20 PM12/14/13
to julia...@googlegroups.com
Hi Pieter,

I use PyPlot. It lets you use Python's Matplotlib from Julia with a convenient API. The advantage is that Matplotlib is a very mature library. For 3D plotting, you might try functions like mesh() or surf().

Cheers,
Daniel.

Pieter Barendrecht

unread,
Dec 18, 2013, 5:59:21 PM12/18/13
to julia...@googlegroups.com
Thanks for the feedback guys! I'll take a look at these different approaches.
Reply all
Reply to author
Forward
0 new messages