Click here to Skip to main content
Click here to Skip to main content

K3DSurf: Math for fun

By , 11 Dec 2006
 

Sample Image

Introduction

K3DSurf is a program to visualize and manipulate multidimensional surfaces by using Mathematical equations. It's also a "Modeler" for POV-Ray in the area of parametric objects and Isosurfaces.

Features

  • 3D, 4D, 5D and 6D HyperObjects visualization.
  • Full support of all functions (like C language).
  • Support of mouse event in the drawing area (Left:Rotate, Right:Scale, and Middle:Translate).
  • Animation and Morph effect.
  • POVscript and Mesh file generation (and run if POV-Ray is installed). VRML2 and OBJ files also supported.
  • More than 100 well known examples.

Current Version: K3DSurf 0.6.1 (11 Dec 06)

K3DSurf has now an integrated OpenGL viewer that makes it far faster than before in manipulating height resolution mathematical models. The gain of performance is huge, especially if you have an OpenGL based graphics card, and the use of the CPU can drop to...0% even with the morph effect in action at full-screen mode.

Tested with:
  • Laptop IBM T20 (P3 550M, 256M, 8M graphics card) ==> Works fine
  • AMD 2GH, ATI Radeon 9000Pro/128M ===> Huge performance gain for interactive manipulation, CPU usage drops to 0% with animation.
Enjoy ;-).

New features in v0.6.1:

  • Condition area now works for Isosurfaces with the OpenGL viewer.
  • "Tools" page now uses the OpenGL viewer for real time manipulation and generation of the mathematical models.
  • A new independent component named "Control Center" to control the drawing for Iso/Parametric surfaces without having to switch between pages (look at the "Options" page).
  • Grid max for Isosurfaces now is 60x60x60 (before it was 30x30x30), and the maximum number of polygons is now 99.000 (before, it was 9900).
  • Info in the OpenGL window for Parametric and Isosurfaces.
  • Bug fix and new examples for Isosurfaces.

Update of code source/binaries are available for download from here or Sourceforge. Also available, K3DSurf with install/uninstall program. All your comments, suggestions, and bug reports are welcome. Thanks!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

virtualmeet
Web Developer
Canada Canada
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralHappy new year to all of you,membervirtualmeet31 Dec '06 - 13:21 
Many thanks to all of you who participated in any manner in the development of this project, by sending reports or by giving votes.
2007 will be the year of math softwares revolution , that's a promess Smile | :) .
Stay tuned...Cool | :cool:
Taha
GeneralNice app, but not an articlememberjuggler14 Dec '06 - 0:48 
I'd really like the article to expand on how and why - especially the maths parser and the drawing routines. At the moment this is just (good) shareware that could live anywhere, and it doesn't add much to the CodeProject community
GeneralRe: Nice app, but not an articlemembervirtualmeet14 Dec '06 - 6:11 
Hello,
I would just add some precision, this application IS NOT a SHARWARE, this is an open source application along with a binary, with explanation on how to make it yourself from the code. You'r right about the article, it could expand, but I can tell that the subject is worth for a big book on the 3D programing...and my time and english knowledge are very limited infortunatly. For the parser, I've already pointed in one of my message to an excellent article in codeproject (called muparser by eberg, see his message bellow): http://codeproject.com/cpp/FastMathParser.asp
K3DSurf is not a single application, in fact it can split easily to 4 or 5 interesting ones, with different concepts and use. K3DSurf is a heivy weight compared to the others and can give a good knowlge to programers on how to implement there 3D applications. However, they should have a minimum knowlege on the subject and a big need of learning. It's also intended for non programers and those with an alergy for math: math is mixed with some artistic views to make it more tasty for everyone.
Finally, K3DSurf was made for one reason: There were non one for me to look at the time when I was student, so I created one and put it here to share it with others.
Cheers,
Taha

GeneralVery good jobmemberAaron Planell4 Dec '06 - 22:10 
Amazing... I work a long time ago with OpenGl and I supose you have spend a lot of time in this application. Good job.
 
Aaron Planell
GeneralRe: Very good jobmembervirtualmeet5 Dec '06 - 7:08 
Hi,
Thanks for the compliment Smile | :) . OpenGL was used only for this last version 0.6.0 so most of the time was spent to implement the 3D drawing from 2D (see the viewer without OpenGL). I know it's quite crazy to do such thing but i needed to understand some elementary concept used in the 3D drawing and the best way for me is to test it myself Smile | :) . Yes it took time to make something like that but math is funny, isn't it ? Wink | ;)
cheers,
Taha
GeneralUgly article... [modified]memberStan Alex4 Dec '06 - 8:43 
But the program is definetly BEYOND impressive. Gave you my 5.
Congrats Smile | :)
 
Stan Alex
 

EDIT: oops... if I put in "F(x,y,z,t) = sin(x*y)" the program crashes. The same does not happen with "cos" tough... so what's happening ?
GeneralRe: Ugly article...membervirtualmeet4 Dec '06 - 9:56 
Hi,
Thank you for your vote and the algorithm used for Isosurfaces is not 100% full proof. I'm working on that right now to track this crashes for windows version . It's likely a division by 0, somewere in the code for Isosurfaces (I've already done some improvements to the code and will releaes it perhaps this week) , since it works for this :
sin(x*y) = 0
x [ -2, 2];
y [ -2, 2];
z [ -2, 2];
I'll let know what's wrong when I find it.
regards,
Taha
GeneralRe: Ugly article...membervirtualmeet4 Dec '06 - 11:24 
Fixed Smile | :) . I can show you the line to add to prevent that crash if you're compiling the code yourself. I can't put the code I have since there is a lot of changes compared to the one in codeproject and it has a lot of new features. So, let me know if you want to compile the code. If not, just wait some days for the coming version 0.6.1, this one is much much better I promise Smile | :) .
Thanks a lot for reporting any other bugs.
Regards,
Taha
GeneralRe: Ugly article...memberStan Alex5 Dec '06 - 3:51 
Wow that was fast! Took you less than 40 minutes to fix it Smile | :)
I can't wait for the bug-free 0.6.1 - since this program is pretty usefull to me (geometry classes...) Smile | :)
 
Regards,
Stan
GeneralRe: Ugly article...membervirtualmeet7 Dec '06 - 7:17 
Hi,
You can find on sourceforge a previous of K3DSurf-061.
The changes for isosurfaces are :
1) Grid max 60x60x60 (before it was 30x30x30)
2) Condition area now work.
3) Infos in the OpenGL window
4) Bug crash fixed
5) Some inhencements in the algo
Other changes are visible on other pages, however, I'm still working
on them so this binary is usuful for people who want to make some tests
and made recommendations that may be added in the official version
0.6.1 (Probably this weekend).
Please report any crash or malfunction.
Cheers,
Taha
http://prdownloads.sourceforge.net/k3dsurf/k3dsurf-061-TestRelease.exe?download
 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130523.1 | Last Updated 11 Dec 2006
Article Copyright 2005 by virtualmeet
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid