Monday, January 28, 2008

Plotting implicit functions: a bleg..

Does anyone know of good tools for plotting implicit functions ? Ideally, I'd like something that could plot functions of the form f(x,y) = 0, and even contours of the form f(x,y) = c.

(for those who aren't hip with web jargon, a bleg is a beg on a blog ;)

13 comments:

  1. http://matplotlib.sourceforge.net

    If you eventually want 3D contours, then VTK should do the job.

    ReplyDelete
  2. If you are OK with commercial tools, Mathematica's ContourPlot does it
    http://www.yaroslavvb.com/research/qr/implicit-plots/implicit.html
    http://reference.wolfram.com/mathematica/ref/ContourPlot3D.html

    ReplyDelete
  3. I'd go with surf
    http://surf.sourceforge.net

    It lets you plot implicit curves and surfaces, and does a surprisingly good job of it. Main drawback: it only takes algebraic specifications (i.e. f needs to be a polynomial), and it doesn't have comfortable rotation and zooming.

    Mouse grab-and-pull rotation and zooming has been added to the surfer extension GUI
    http://surfer.imaginary2008.de

    ReplyDelete
  4. ah that's the problem. my function has logs in it. But some of the other options seem doable.

    ReplyDelete
  5. Maple does it with implicitplot()

    Not sure how great it is though...

    ReplyDelete
  6. Grapher (comes with every mac) seems to work pretty well. I tried plotting log(xy) = 1.

    -sergei

    ReplyDelete
  7. What an opportunity to advertize our tool ;-) (for algebraic curves only)

    http://exacus.mpi-inf.mpg.de/cgi-bin/xalci.cgi

    You can try it online with our browser

    ReplyDelete
  8. Can't you just take g(x,y) = f(x,y)-c ?

    ReplyDelete
  9. Try TexasInstruments T-98 thay are compact for travel and you can usually buy them used;via. pawn shops, consignment shops, etc....

    ReplyDelete
  10. With a little wiggling, the common and freely available gnuplot can do this: http://t16web.lanl.gov/Kawano/gnuplot/implicit/solve-e.html

    ReplyDelete
  11. MATLAB has the command contour and isosurf.

    Amusingly grapher the OS X utility also plots implicits via extracting isosurfaces (or curves / contour lines).

    ReplyDelete
  12. Jonathan Thornburg7/30/2011 09:56:00 AM

    I second the recommendation of gnuplot
    (http://www.gnuplot.info; alas the .org seems to be owned by a domain squatter).
    It has excellent support for parametric functions (x = x(t,u), y = y(t,u), z = z(t,u)), and reasonable support for both 2-D and 3-D contours.

    ReplyDelete
  13. I used the free software available here
    http://www.padowan.dk/graph/
    It has a utility called "relation" in which you may define functions of the form f(x,y)= C. It is meant for windows but I installed it just fine on Ubuntu-9.04 using wine. Works great.

    Abhinav

    ReplyDelete

Disqus for The Geomblog