Deviation Actions

lyc's avatar

3d mandelbrot

designed to work as a mug :)

credit for the fractal iteration goes to twinbee over at!
Image details
Image size
960x960px 411.91 KB
© 2008 - 2021 lyc
Join the community to add your comment. Already a deviant? Log In
aswarp's avatar
Wow! Next time render it in translucent glass with different reflection and refraction indexes. Looks awesome! Your GPU must be burning...
lyc's avatar
this was cpu rendered, a good few years ago it was one of the first renderings of the original mandelbulb.

it'll make its way into indigo renderer sometime, for damn sure ;)
Nickmeister's avatar
amazing object, I think I prefer the non-metallic version though..
greenhybrid's avatar
one question: why is this in scraps?
lyc's avatar
because it's not art (no composition) and has many many technical flaws too; it really is a scrap.
greenhybrid's avatar
The underlying code is the composition. It really is about how beautyful programmer's art can get :D
nnq2603's avatar
Is this thing a free element in 3d object meaning? Or some generate code which can input in some Fractal application and then output (to export) 3D mesh/object. I feel very interesting to try out setup light n render it, but seem it's not easy to get 3D model for standard 3d application (I visit that forum and don't see any chance to download or request that thing in 3d object...). Maybe it's not free... (?)

If it's free and available for almost people, pls I ask you about it. Can you please give me a 3d object or the available way to get it from code/script related to Fractal application? Thanks, not sure I'll get a answer while you put this in scrapt.
lyc's avatar
oh i always appreciate interest, and don't leave comments ignored :)

the object is given by an equation from a friend (name is "twinbee" on, which i have rendered with my own program (everything in my gallery is made with my c++ programs, most of the time without photoshop). there is no real 3d mesh, no polygons, it's just one equation like for example x^2 + y^2 + z^2 = r^2 (which defines a 3d sphere) but more complex. unfortunately, this is extremely slow - an image will take many hours even on the best computers using 100% of all cpu cores. this also means it is basically impossible to make a 3d mesh of it, since it never exists in my program (it can be done, but this is a lot of work and i unfortunately have little time for fractals these days).

currently i am rendering (since most of today and last night!) a new image, with a similar equation but modified so it gives a different surface. at this time tomorrow, it should be here in my scraps too - i put it in my scraps since i feel it's not really "art", just a test / experiment without any thinking about design.

thank you for taking the time to look at my scraps, and i'm sorry i can't be of more help right now. if you really really really want it, maybe i can try to plan some time for making a small program that will (with a LOT of cpu time!) export a high resolution .obj format mesh.
nnq2603's avatar
Well, I want it a lot but I think it's not enough to take your limited time for building a custom program to export hires obj. Thanks so much for your kind, I really appreciate it. If sometime you get back interest and free time enough for building that program, it'll be great :) (and notice me if some day you done it). About your rendered pic above, you mean it's purely mathematic data that rendered internally by your own program? Oh, it's more special than I guess about, I've just thought you export it already and render in a external engine. So it's quite complex n hard for regular people, especially since it requies math & programing knowledge to manually produce it.

Honestly, is there any way to made out a mesh from that equation via some existed Fractal generator? Or they can't allow people input that kind of equal for generating n exporting? Fractal programs're numerous but contain export feature not that much, and complex equation and so on... I guess no way like that(?)

Below code is full content of necessary thing or just a part of full?
// A triplex number is a '3D' number
triplex multiply(triplex a, triplex b) {
triplex n;
double pi=3.14159265;
double r = pow(a.x*b.x + a.y*b.y + a.z*b.z , 0.5);
double yang = atan2( pow(a.x*b.x + a.y*b.y, 0.5) , a.z ) ;
double zang = atan2(a.y , b.x);
n.x = (r*r) * sin( yang*2 + 0.5*pi ) * cos(zang*2 +pi);
n.y = (r*r) * sin( yang*2 + 0.5*pi ) * sin(zang*2 +pi);
n.z = (r*r) * cos( yang*2 + 0.5*pi );
return n;
lyc's avatar
well, the first thing is that a mesh will never really be able to represent a fractal, since a fractal has technically "infinite" detail (in practice it is limited on a finite computer, but still extremely "sharp"). so a mesh of any resolution will always have insufficient detail when looked at too closely.

the way i would do it, is to make a very big grid (it would have to be at least 1024 * 1024 * 1024) and then, for every cell in the grid use that "triplex multiplication" to decide if the cell is inside or outside the surface. so if you have a triplex number t, then you do something like "new_triplex = multiply(old_triplex, old_triplex); old_triplex = new_triplex", so it's just like the standard mandelbrot feedback (and the initial triplex is given from the cell co-ordinates).

sorry if that's a bit too detailed, but the next steps once you have the inside/outside should be more familiar: this can be used to define an "isosurface" or "implicit surface", so there should be many tools available that can turn it into a mesh, using the "marching cubes" algorithm. (all these terms are good for googling to find information and tools)

so there's two reasonably big parts that need to be done... if you can find a tool to convert a grid of data into a mesh (should be available somewhere), i can probably make you a program that will save such a file... it would be very slow, running maybe several days, but i don't need any memory while calculating it, only the storage on disk. well, you'll maybe have problems with the program that converts it to a mesh, but let's see first how that goes :)
nnq2603's avatar
OK, I get it. And no I don't get technical details in your answer but I get your idea and kinda processes to done that work. I knew basically about fractal 'cause it's very interesting n beautiful, even since I was a 6 grader I like to read about it (over 12 years ago). It's somewhat fractional dimension, not 2D, 3D or any integer, and it's self-similar in infinite level of zooming, etc...

About the step that you make grid to limit it into a finite loop of computing, depend if it reach the grid bound (sorry porbably I use wrong words/meaning here, I haven't study anything related to programing and almost forget math that I get in university =p), that step seem only you or someone who familiar with programing can do. About next step, tool for convert data to mesh I'm also not sure. I haven't used sth like that yet, not yet (Actually I've just take a look some fractal app contains export feature with grip option like XenoDream, I got another one similar but not try yet. Here I need to find a tool convert external data to mesh, that data not made by it? I guess you can find it out faster than me). But if you done the heavy rest, I gotta try to find info & tool about it... haha, sound not easy for me... :D.

And you say it doesn't need any memory while calculating, how about CPU usage, does it need some? Storage on disk, that's fine (unless it take too large space for storage =p).

And for something easy n comfortable, can you make some parameter that control grip size. Example when I start to let my PC calculating that 10243 grip data, and too long for waiting, then I want stop to try lower size, is it possible for me simply change some clear number or press some button? It's quite important 'cause my personal PC's weak for now.
MakinMagic's avatar
Hi, If you really want to export fractal objects to Bryce, 3D Studio etc. then you should take a look at programs by Terry Gintz such as QuaSZ - just Googling for Terry Gintz should find them I think.
nnq2603's avatar
Thanks for info, sir. I got that QuaSZ and try but can't import this 3d mandelbrot to it. I lack of many knowledge to manually build it in QuaSZ, can you spend a bit time to give me suggestion how to build this 3d mandelbrot in QuaSZ (some fractal programs also have export function but I can't manage to build suitable data for them, since format of code different for each other. I don't have experience to deal with custom formular or some way to write external data that useful in those programs). Thanks again n hope get your feedback soon.
MakinMagic's avatar
Hi, unfortunately I can't help much as I don't actually use QuaSZ or any of Terry's other software. I believe there may be a Yahoo group or a Google group or a Usenet newsgroup or a mailing list relating to Terry's software so that may help - failing that try posting a question in Usenet sci.fractals
hakeberhut's avatar
trystianity's avatar
CHRiTTeR's avatar
that's gotta give some funky caustics!!
lyc's avatar
lol i try not to think about it, my poor poor light transport code...
CHRiTTeR's avatar
no merci dude!
sequential's avatar
Definitely a work of art! :thumbsup:
esintu's avatar
*tries the mug*

works perfectly for me.. cheers! :D
lyc's avatar
hmmm you've somehow tried the mug through the internets? :sherlock:
esintu's avatar
nope, your fractal mug is infinitely big, so all I had to do was reach out.. now, I'm infinitely drunk.. :D
Join the community to add your comment. Already a deviant? Log In