A user-friendly mathematical plotter. Its main purpose is displaying 2D/3D functions, defined in rectangular, polar and cylindrical coordinates, relations between variables, parametric curves/surfaces and vector fields. It is based on SDL and OpenGL
Be the first to post a text review of MeTA->phi. Rate and review a project by clicking thumbs up or thumbs down in the right column.
- Fixed interval acos(), which returned an invalid interval. - Fixed nasty bugs in expression evaluation which caused artifacts near function infinite discontinuities. - Really fixed display on 24-bit video modes: horizontal lines and text didn't appear.
- Switched to C++. Many things have been reimplemented and rewritten from scratch. - Improved explicit curves in polar coordinates, written interval version. - Improved 2D parametric curves in rectangular coordinates. - Experimental plot saving to BMP. - Floor and ceil functions. - Implemented an approximation for the Bessel J0 function. - Now users can choose how to plot explicit curves with the 'i' key ("pure interval" and "semi-interval" modes). - Fixed a little bug with modkeys and mouse dragging
- Preliminary RGB and HSV plots. The syntax is the same as parametric plots: (r g b)=(x 1/y cos(x+y)). - Vector plots now include flow lines officially. Click anywhere with the left mouse button (or control-click) to plot the flow line which is passing over that point (the click sets initial conditions for the differential equation). - 24 bit displays should now be supported. - Minor improvements to the red "tracking" cursor with y=f(x) functions and expression display; code fixups.
- Implemented remaining hyperbolic functions (acosh, asinh, tanh, atanh). - Better display of 3D vector fields, with colors like relation plots and "arrows". - Expressions in the form a-(b+c) were displayed as a-b+c, but evaluated correctly. This has been fixed. - Fixed up a bit the MacOS X project, now it should work everywhere without changes (not tested with Panther). - Finally automatized the MMX finding mechanism. Now non-MMX x86 CPUs should be automatically discovered by the Makefile. - Absolute value on real intervals had a little implementation bug which could prevent plot pieces from being drawn. - Fixed a nasty bug in plot_explicit_rect which could cause plot_vert_line to write slightly after the end of the framebuffer, which usually passes unobserved but means a potential crash.
- Implemented an approximation for the Gamma function. The graph is quite thick due to interval methods, and there are the usual artifacts near poles, but it should be a good gamma approximation. - Many experiments with flow lines however results are still aesthetically ugly. - Visualization of implicitly-defined surfaces is now better. Instead of being tessellated into triangles, they are rendered with VOXELS (volumetric pixels) and lighting of these strange entities is not implemented yet (but we know how to do it). The result is quite good, but finding the points is very slow; the process of finding solutions is performed on a separate SDL thread. - Now 3D surfaces have "holes" where they are not defined. This is done by enabling alpha testing and setting alpha = 0 for every "undefined" vertex of the surface: OpenGL throws away those vertices, and we also get a nice smoothing around the holes. - Every kind of explicit surface is now sent to OpenGL as strips (either triangle or quad) to slightly improve performance. - Fixed and cleaned 2D explicit function plots. There was a bug which could make a line appear near very large function values. - Normals to explicit surfaces in rectangular coords were wrong, fixed. Now plotting an explicit surface in rect coords produces exactly the same image of the equivalent parametric form. - Code clean and fixup (most in plots3d.c).
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?