K3DSurf Original

Science

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

7
Score 77.1%
Description:

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/iso surfaces.

Features :
* 3D, 4D, 5D and 6D HyperObjects visualization.
* Animation and Morph effect.
* Povscript and OBJ Mesh file export.
* More than 100 examples.

***************************************
Last changelog:

5 years ago

MathMod is a new project that is a complete rewrite of K3DSurf, with many new features and optimizations.
Please visit the new project home page at: http://kde-apps.org/content/show.php/MathMod?content=163992

joerdz

14 years ago

im still playing with it... so fun!
it would be nice to have a way to output a gif file out of the animations tho. Thats my only rec :-D

Report

C

virtualmeet

14 years ago

for soon...I promess ;-)

Report

LightBeam

14 years ago

You said:
"there still some incompatibilities between windows version and linux QT version . Hope the next QT4 will fix that"
Now you can ! QT4.0 is out !! :-))
I'll try K3DSurf when compiling QT4.0 will be done ;-)

Report

C

virtualmeet

14 years ago

Ooops..yeh, I see that. Thanks for the notice ;-). I'll begin portage to Qt4 in the next days. It's good news for Windows and Mac users because we (Linux users) can now share our Linux application. So thanks to Qt team (from Trolltech).
see you soon

Report

LightBeam

14 years ago

Can you post linux binaries too ? (I can't use it on my QT4 config)

Report

C

virtualmeet

14 years ago

Hi,
You can now download Linux binary of K3DSurf compiled with Qt 3.3.3
Let me know if this worked for you. What Linux version do you have?
I think it's too early to install Qt4 alone because the majority of applications don't use it right now and it will take time to do that. I'm working on the translation to Qt4 but it will take from 2 to 3 weeks to do that and it's likely that I will continue to support Qt3.x for at least 2 months. see you

Report

oliverthered

14 years ago

Any chance of adding support for hyper objects with more than 3 dimensions.

You can use either animation as if taking slices through an object, or shadow techniques where the shadow has three dimensions instead of two.

This would be really cool for helping people visualise object with more than three dimensions.

Report

C

virtualmeet

14 years ago

yes...this is one of my purpose because the shapes from 4D are the beautiful ones..."Klein Bottle" is an example of 4D object who was "projected" in 3D space. In other hand, such delicate object aren't so easy to manipulate. I'm working on it and for any adea or article in the internet that discuss this manipulation, please leave a message. Thanks

Report

oliverthered

14 years ago

What method are you using to generate the images?

Is it not possible to have a 4d object and then transform the functions be a view vector to create a 3d projection.

Other methods you can use are root solving (the povray source is a good place to start looking).

You find one point that has a non-imaganiry solution, then you start walking unit boxes, projecting a ray and seeing if you have a solution along each edge of the box.

this is mainly useful for polynomials but can be used for other objects such as blobs.

Report

C

virtualmeet

14 years ago

Hi,
I'm not using the "Ray tracing" method like povray to visualise 3D shapes because it's as slow as perfect. I'm using the same method like OpenGL ( Matrix transformation of the points that describe the shapes) for it's efficiency and rapidity. What I'm doing now is just projecting 3D points in 2D plan (window):

1)Construct 3D shapes from parametric equations (3 param equations).
2) Project this shape to 2D plan (window).
3) Visualise using 2D drawing functions.


What I'm traying to do is:
1) Construct 4D shapes from parametrics equations (4 param equations).
2) Project this shape to 3D world (our world).
3) Project this shape to 2D plan (window).
4) Visualise using 2D drawing functions.


The projection from 4D-->3D has the same principle than projection from 3D-->2D..the only probleme is HOW to choose the right "3D world" where the 4D shapes can give the best view when projected on it...
Th method you describe is the perfect one but it's not useful for animation (the day where quntum computer will be sold in Supermarket, sure I will review my code ;-) )
see you

Report

trollichon

14 years ago

hi,
looks nice :-). do you think your fast meshing of isosurfaces could be added to kpovmodeler. It is a great app with a very intuitive interface to build povray scenes, but the 3d pre-rendering of objects would welcome help of people like you. Just a guess, I am not the programmer of kpovmodeler. Just a user.

Report

C

virtualmeet

14 years ago

Thanks for your comments and I have to confess
that this application wasn't made with just Povray modeling in
minde...
people behind kpovmodeler are far better programer than
me, their application full proof and i'm sure they don't
need me to add this usage to their application if they want to.
I also make K3DSurf under GPL.
The goal of this application isn't simply
povrendring...but also and especially "live animation" and I have to say
that I didn't reach my expectation yet.
I'm happy that a lot of you like it and I hope that it will
be the same with next releases.see you

Report

Selecter

14 years ago

#0 0x402a4bbd in QBrush::operator== () from /usr/lib/libqt-mt.so.3
#1 0x4029f66a in QPainter::setBrush () from /usr/lib/libqt-mt.so.3
#2 0x08053ed0 in Model3D::tracer3 (this=0x40da2008, g=@0xbfffecc0) at Model3D.cpp:478
#3 0x080511cc in ConnectWidget::paintEvent (this=0x81d0980) at panel.cpp:456
#4 0x402d2c5e in QWidget::event () from /usr/lib/libqt-mt.so.3
#5 0x4023fe1f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#6 0x4023f41e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#7 0x401d7266 in QETWidget::translatePaintEvent () from /usr/lib/libqt-mt.so.3
#8 0x401d29a4 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#9 0x401e9254 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#10 0x402521d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#11 0x40252088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#12 0x40240071 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#13 0x080505d7 in main (argc=1, argv=0x0) at main.cpp:36

-pipe -Wall -W -O2 -g3 -pipe -m32 -march=pentium4 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED

Report

C

virtualmeet

14 years ago

Try this version(0.3.1) now..I think this bug will never happen again. Thanks for continuing to report bugs

Report

C

virtualmeet

14 years ago

yyyyyyyyes it happen to me too some times when the application is too busy. I'll concentrate on it this week end.
Thank you for reporting bugs...this is why things get better. see you

Report

stingo

14 years ago

Great prog. I love it
Please make functions of the type:
x+y+z=a

Also resize and mesh resolution adjustment
would be great.
More default functions is great too.

I v even registered in kde-apps.org to leave the comment and to vote. A+

Report

C

virtualmeet

14 years ago

I hope it's OK for you now with this version 0.4. I didn't test a lot of formulas like z = f(x,y) so if you encounter some problems or you have a good examples, let me know. see you

Report

C

virtualmeet

14 years ago

Thank you very much for your vote and comment. You can already draw surface like x+y+z=a using : X = u, Y= v, Z = a -u -v . This is just a work around until i get things better. The adjustement of the window must be done soon. The Mesh resolution (I think you're talking about the Grid) is already disponible(see Drawing Options->Grid). OK! More examples will be added in the 0.4 (today late or tomorrow). see you

Report

blueSceaDa

14 years ago

seems a very nice application! .. i will try it out now..

Report

C

virtualmeet

14 years ago

Thanks...your impression after that are welcome

Report

joerdz

14 years ago

dude, i could play with this forever.
one question though.
is there a way to fix the size of the box?
i am adding a t multiplying every v and u, and i want to see how the graph changes as the t changes. So at t=0 i would like to see a little graph, and at t=1, i want to see the graph completed. When i do this the box resizes itself so at t=0 the graph looks simple and as it goes to 1, it looks completed; however, the size at 0 and 1 is the same.

thanks!

Report

C

virtualmeet

14 years ago

the algorithme is like that:
for (t = 0; t inf 1; t += t_step)
draw_shape(t);
I hope that I inderstand your request and reponded to it, if not, give your example, I'll try to see what's wrong whit it.
Thanks.

Report

C

virtualmeet

14 years ago

Hi,
The Box resize itself because it depends on the maximum limits of the shape. so when you introduice a parameter "t", every shape is drawn whit one and only one t value. the shape in consequence haven't the same maximum limits and in consequence the Box. the algorithme is like that:
for (t = 0; t

Report

C

virtualmeet

14 years ago

Hi,
The Box resize itself because it depends on the maximum limits of the shape. so when you introduice a parameter "t", every shape is drawn whit one and only one t value. the shape in consequence haven't the same maximum limits and in consequence the Box. the algorithme is like that:
for (t = 0; t

Report

C

virtualmeet

14 years ago

Hi,
The Box resize itself because it depends on the maximum limits of the shape. so when you introduice a parameter "t", every shape is drawn whit one and only one t value. the shape in consequence haven't the same maximum limits and in consequence the Box. the algorithme is like that:
for (t = 0; t

Report

5 years ago

MathMod is a new project that is a complete rewrite of K3DSurf, with many new features and optimizations.
Please visit the new project home page at: http://kde-apps.org/content/show.php/MathMod?content=163992

12345678910
112
product-maker sbo64 Sep 16 2019 9 excellent
9 excellent
product-maker shanemc98 Mar 31 2019 9 excellent
+
product-maker mihayat Mar 08 2019 9 excellent
+
product-maker flinth Dec 17 2018 9 excellent
+
product-maker ksama0909 Oct 07 2018 9 excellent
+
product-maker arvinbagheri Aug 16 2018 9 excellent
+
product-maker dvnb Jun 28 2018 9 excellent
+
product-maker asanakin Jun 04 2018 9 excellent
+
product-maker kakakukaku Mar 31 2017 3 bad
product-maker oswaldoroga Sep 22 2016 9 excellent
product-maker rangerGR Jul 03 2014 9 excellent
product-maker FraMari Mar 05 2014 9 excellent
product-maker gtitiv Mar 02 2014 9 excellent
product-maker Count: 4 Rating: 5.0
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs ocs-url or ocs-store to install things
Pling
Details
license
AGPLv3
version
0.6.2
updated Mar 04 2014
added Jun 06 2005
downloads 24h
2
page views 24h 28