|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Well, now here's an accidental isosurface at today's Astronomy Picture of the
Day.
http://antwrp.gsfc.nasa.gov/apod/ap091122.html
It kinda looks like someone hit a lower-power mandelbulb with a turbulence warp.
That inspired me to try mandelbulbs with fractional powers. Attached is a power
2.3 mandelbulb, 20 iterations, rotated off-axis, and rendered as media.
Post a reply to this message
Attachments:
Download 'mb2-3i20_media.png' (193 KB)
Preview of image 'mb2-3i20_media.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
waggy schrieb:
> That inspired me to try mandelbulbs with fractional powers. Attached is a power
> 2.3 mandelbulb, 20 iterations, rotated off-axis, and rendered as media.
Tried that, too, with solids. Doesn't look too pretty though, as such
variants exhibit a distinctive discontinuity at one side. Apparently
you'd need more than 360 degrees in a circle to give them rotational
symmetry...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>> I think it would be easiest (ie not take 400 years) if you made a
>> program in a faster language (eg C++) to write a df3 file, and then used
>> POV to render the df3 file as an isosurface.
>
> Why does it have to be an isosurface? If you created a mesh out of it,
> it would probably render about a thousand times faster,
But take a thousand times longer to code :-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
abram wrote:
> The patch:
> http://softwareprocess.es/x/x/mandelbulb/fnintern.cpp.patch
Looking at it again, I can see a simple improvement that shouldn't cost
too much computing power and would make it much more usable for pigments
and media - returning smooth values based on rate of divergence.
No change needed on your if(cnt<=0){return -1.0;}, but what you can do
for the other condition is:
return (cnt+log(log(r)/log(2.0))/log(n))/(iterations);
In words: find the count you got down to, and add a fraction to it that
approximates how close it was to taking one less iteration, then
normalizing that so it will return a range from 0 to 1+, where 0 is when
you've reached nearly the max iterations, and 1+ when it takes only 1
iteration to diverge, and higher than that when it diverges really far
in the first step.
The actual formula for that fraction is log[base n](log[base
threshold](cnt)), where your threshold for the radius is 2.0.
This would let you get smoothly colored pigment patterns if you want to
do any rate of divergence coloring, which could be interesting. Of
course feel free to change the range of returned values, this is just an
idea for normalizing. To save very minor computational cost you can
pre-calculate the log(2.0), or even change your divergence radius to E.
Chris
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp <war### [at] tagpovrayorg> wrote:
> PM 2Ring wrote:
> > How do you turn a df3 density file into a mesh?
>
> You don't turn a df3 density file into a mesh. You calculate a mesh
> from the original fractal.
>
> (Granted, it's not a trivial task, requiring using something like the
> marching triangles algorithm, but still beneficial in terms of rendering
> speed.)
Thanks, Warp.
I found the Marching Cubes C code (cunningly disguised as C++ code...) in p.b.u.
It
converts 8 bit df3 files ok, but of course the resulting mesh isn't quite as
accurate as a POV isosurface. The mesh renders much faster, but it does take
more memory & is much slower to render. So for some applications (eg a lot of
small renders for an animation) I prefer to use the isosurface.
Maybe I need to use the df3 file more efficiently. Currently, I'm only storing 1
bit per voxel: 0 if it's not in the Mandelbulb, 255 if it is. I'm wondering if
there's a better way.
Someone mentioned earlier about doing a glass Mandelbulb. I don't know if this
would work very well, since the surface is fractally bumpy. I've done a glassy
doesn't look very shiny; as you can see below, it's more like a scrunched up
ball of foil.
Post a reply to this message
Attachments:
Download 'mandelbulbi5s90.jpg' (160 KB)
Preview of image 'mandelbulbi5s90.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
waggy wrote:
> That inspired me to try mandelbulbs with fractional powers. Attached is a power
> 2.3 mandelbulb, 20 iterations, rotated off-axis, and rendered as media.
There's a skull in that image.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Warp <war### [at] tagpovrayorg> wrote:
>> PM 2Ring wrote:
>>> How do you turn a df3 density file into a mesh?
>> You don't turn a df3 density file into a mesh. You calculate a mesh
>> from the original fractal.
>>
>> (Granted, it's not a trivial task, requiring using something like the
>> marching triangles algorithm, but still beneficial in terms of rendering
>> speed.)
>
> Thanks, Warp.
>
> I found the Marching Cubes C code (cunningly disguised as C++ code...) in p.b.u.
> It
> converts 8 bit df3 files ok, but of course the resulting mesh isn't quite as
> accurate as a POV isosurface. The mesh renders much faster, but it does take
> more memory & is much slower to render. So for some applications (eg a lot of
> small renders for an animation) I prefer to use the isosurface.
>
> Maybe I need to use the df3 file more efficiently. Currently, I'm only storing 1
> bit per voxel: 0 if it's not in the Mandelbulb, 255 if it is. I'm wondering if
> there's a better way.
>
>
> Someone mentioned earlier about doing a glass Mandelbulb. I don't know if this
> would work very well, since the surface is fractally bumpy. I've done a glassy
> doesn't look very shiny; as you can see below, it's more like a scrunched up
> ball of foil.
>
>
>
> ------------------------------------------------------------------------
>
If you want to make it glass or metallic, you need to change a few
things for the DF3 way:
Outside value: 16
Inside value: 200
This is to get rid of the overshot artefacts you can get with the
interpolation. Interpolate 2 realy don't work well when you have sharp
jumps to zero and 255.
Use interpolate 2
Gives you a nice smooth, curvy, interpolation.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
PM 2Ring wrote:
> Someone mentioned earlier about doing a glass Mandelbulb. I don't know if this
> would work very well, since the surface is fractally bumpy. I've done a glassy
> doesn't look very shiny; as you can see below, it's more like a scrunched up
> ball of foil.
Goodness! Who let a mathematician into the Brillo factory?
--
Tim Cook
http://empyrean.freesitespace.net
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp wrote:
> There's a skull in that image.
These things can look weirdly organic, especially when rendered in media.
Attached is "side" view of a power 2, iteration 20 image.
Oh, for those who don't watch the binaries.animations newsgroup, I posted an
animation of mandelbulb powers 1 through 100 rendered in media.
http://news.povray.org/povray.binaries.animations/message/%3Cweb.4b09e469315ec22ef99d05c80%40news.povray.org%3E/#%3Cweb
.4b09e469315ec22ef99d05c80%40news.povray.org%3E
(Just remove the .dat extension and it should play on MS, Mac, and Linux
systems.)
Post a reply to this message
Attachments:
Download 'mb2i20_media_1024.png' (428 KB)
Preview of image 'mb2i20_media_1024.png'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"PM 2Ring" wrote:
> Someone mentioned earlier about doing a glass Mandelbulb. I don't know if this
> would work very well, since the surface is fractally bumpy. I've done a glassy
> doesn't look very shiny; as you can see below, it's more like a scrunched up
> ball of foil.
I found the same thing. However, lower iteration mandelbulbs show some promise,
especially if you just cut out part of it. Attached are power 8, iteration 3
mandelbulbs in stock glass and chrome. (I apologize I suck at glass.)
~David
Post a reply to this message
Attachments:
Download 'mb8i3_glass_chrome.png' (769 KB)
Preview of image 'mb8i3_glass_chrome.png'
|
|
| |
| |
|
|
|
|
| |