Topic: Implicit surfaces collection (Page 1 of 1) Pages that link to <a href="https://ozoneasylum.com/backlink?for=29962" title="Pages that link to Topic: Implicit surfaces collection (Page 1 of 1)" rel="nofollow" >Topic: Implicit surfaces collection <span class="small">(Page 1 of 1)</span>\

 
argo navis
Paranoid (IV) Inmate

From: Switzerland
Insane since: Jul 2007

posted posted 02-05-2008 13:08

Implicit surfaces, or isosurfaces, or blobs, or.. are defined by a function, 2d or 3d.
Eg. the plotting/drawing/rendering renders all visible elements defined by a given function - see
some nice works by Iron Wallaby for details.

One fast way to render them real time is the "marching cubes algorithm". Other than that,
they are very useful in photo realist rendering.

I'd like to collect some of these gems for further reference in this very thread :
http://iat.ubalt.edu/summers/math/platsol.htm
http://atrey.karlin.mff.cuni.cz/~0rfelyus/povray/index.html
http://www.econym.demon.co.uk/isotut/simple.htm
http://www.econym.demon.co.uk/isotut/

Cheers,
Argo

poi
Paranoid (IV) Inmate

From: Norway
Insane since: Jun 2002

posted posted 02-05-2008 13:31

Thanks.

Didn't Iron Wallaby do a implicit heart in JS a few years ago ?

argo navis
Paranoid (IV) Inmate

From: Switzerland
Insane since: Jul 2007

posted posted 02-05-2008 14:26

Yeah, would be great if he dug them up, cannot find them myself (-hint-)

There actually is a heart in the above collection - I see ways and ways to mix it up with some recycled material and post something nice for the "Valentine" initiative.

Am starting to really get the hang of life as my own employer.

(Edited by argo navis on 02-05-2008 14:27)

iron_wallaby
Nervous Wreck (II) Inmate

From:
Insane since: Dec 2007

posted posted 02-05-2008 15:19

Heh, yes, I've made lots of these things in 2D AND 3D, in JS and Java. Implicit surfaces are one of my favorite programming toys.

Am at work now, so I don't have access to them... if I get a moment this evening or next, will dig them up for you all.

argo navis
Paranoid (IV) Inmate

From: Switzerland
Insane since: Jul 2007

posted posted 02-05-2008 15:39

Would be great! (off topic) : you know, it's because of threads like this (and a gazillion others of the same kind)
that I'd love to see some major Sink cleanup / archival done one of these days.

argo navis
Paranoid (IV) Inmate

From: Switzerland
Insane since: Jul 2007

posted posted 02-07-2008 00:45

Some nice curves while we're at it :
http://curvebank.calstatela.edu/famouscurves/famous.htm#Cartesian%20Oval

iron_wallaby
Nervous Wreck (II) Inmate

From:
Insane since: Dec 2007

posted posted 02-07-2008 16:28

Bahh, my internet access at home is sufficiently terrible that I havn't been able to upload anything.

Anyway, the inequality for the heart in 2D was: x^2 - |x|y + y^2 < k. I don't have any records remaining of the 3D heart, except that it was a generalization of the 2D one... probably adding a term like z^2 / (y + c).

When dealing with static fields, I generally use equations (such as those above) or metaballs to do fun things.

For rendering, I've used many techniques... several recursive quadtree methods (either using monte-carlo sampling of the field or some other method), marching squares/cubes, and interpolation methods, too. Nowadays, I find the best way to do it is with lookup tables (that is, keeping a 2D lookup table for distances from a point)... simpler code, and scales much better. (Even with the lookup tables, you'll want to use marching cubes or something for 3D.)

(Edited by iron_wallaby on 02-07-2008 16:30)

argo navis
Paranoid (IV) Inmate

From: Switzerland
Insane since: Jul 2007

posted posted 02-07-2008 16:42

That tip about lookup tables goes straight to my heart

(Edited by argo navis on 02-07-2008 16:46)



Post Reply
 
Your User Name:
Your Password:
Login Options:
 
Your Text:
Loading...
Options:


« BackwardsOnwards »

Show Forum Drop Down Menu