Click here to Skip to main content
15,887,683 members
Articles / Desktop Programming / MFC
Article

K3DSurf: Math for fun

Rate me:
Please Sign up or sign in to vote.
4.97/5 (137 votes)
11 Dec 20062 min read 211.1K   9.5K   137   57
K3DSurf is a program to visualize and manipulate multidimensional surfaces by using Mathematical equations.

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


Written By
Software Developer
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
AnswerRe: Is Score 6 available? Pin
TeleStar1-Oct-05 18:16
TeleStar1-Oct-05 18:16 
GeneralRe: Is Score 6 available? Pin
virtualmeet2-Oct-05 11:27
virtualmeet2-Oct-05 11:27 
QuestionIs there Score 6 available? Pin
De Nardis Andrea28-Sep-05 4:23
De Nardis Andrea28-Sep-05 4:23 
AnswerRe: Is there Score 6 available? Pin
virtualmeet28-Sep-05 11:33
virtualmeet28-Sep-05 11:33 
Generalvery good Pin
Babak Deypir1-Sep-05 5:35
Babak Deypir1-Sep-05 5:35 
GeneralRe: very good Pin
virtualmeet1-Sep-05 8:39
virtualmeet1-Sep-05 8:39 
Generalmissing files Pin
Michael Starich27-Aug-05 21:23
Michael Starich27-Aug-05 21:23 
GeneralRe: missing files Pin
virtualmeet28-Aug-05 3:45
virtualmeet28-Aug-05 3:45 
Hi Mike,
Thanks for your appreciations. K3DSurf source code contain two files that describe
it's GUI : k3dsurf.ui and k3dsurf.ui.h Theses two files, when compiling, will generate the 2 missing files plus some others related to Qt signals/slots (how the
GUI will act when you use it). k3dsurf.ui is an XML description of the GUI that is generated by Designer a really cool tool that come with every Qt package. Creating
powerful GUI with it is simple (it's equivalent under windows is, for example, VB) and it take care of all components behaviors.
there are two others reasons why every one should at least try this tool once:
1) it's under GPL licence : you can use it for free, and share your work with others without any limitation (like what I'm doing with k3DSurf). If you want to sell you product, then you have to pay some money which is logic.
2) it's cross platform : K3DSurf was designed under Linux but it works under Windows and Mac.
There are so many forum related to Qt where you can ask questions (ex. : http://www.qtforum.org/) .Also, the best way to get in Qt, is to read a book (there are some for free in PDF format).
Well there is much more to say about Qt but I have to mension that QT is not the only GPL GUI...there is also GTK, another excellent cross platfrom GUI and again, it has all you need but it's a little bit more "hard" to code.
Hope this introduction was clear enough.
see you
Taha
GeneralK3DSurf : Infos, Linux/Mac binarys... Pin
virtualmeet27-Aug-05 4:59
virtualmeet27-Aug-05 4:59 
Generalmathe 3d Pin
torolf24-Aug-05 0:26
torolf24-Aug-05 0:26 
GeneralRe: mathe 3d Pin
virtualmeet24-Aug-05 2:57
virtualmeet24-Aug-05 2:57 
GeneralWow Pin
Tom Gee23-Aug-05 17:54
Tom Gee23-Aug-05 17:54 
GeneralRe: Wow Pin
virtualmeet23-Aug-05 18:05
virtualmeet23-Aug-05 18:05 
GeneralImpressive Pin
Obi Van Kenobi19-Aug-05 1:02
Obi Van Kenobi19-Aug-05 1:02 
GeneralRe: Impressive Pin
virtualmeet19-Aug-05 9:56
virtualmeet19-Aug-05 9:56 
GeneralCool... Pin
TheGlynn19-Aug-05 0:34
TheGlynn19-Aug-05 0:34 
GeneralRe: Cool... Pin
virtualmeet19-Aug-05 10:07
virtualmeet19-Aug-05 10:07 
GeneralImpressive... Pin
Kochise19-Aug-05 0:12
Kochise19-Aug-05 0:12 
General[Message Deleted] Pin
virtualmeet19-Aug-05 10:09
virtualmeet19-Aug-05 10:09 
GeneralRe: Impressive... Pin
virtualmeet3-Sep-05 7:36
virtualmeet3-Sep-05 7:36 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.