Google Groupes n'accepte plus les nouveaux posts ni abonnements Usenet. Les contenus de l'historique resteront visibles.

Antialiasing the Mandelbrot Set

0 vue
Accéder directement au premier message non lu

Yannick Gingras

non lue,
10 avr. 2005, 14:51:2710/04/2005
à
Hi, I made a simple Web based zoomer for the Mandelbrot Set:

http://fract.ygingras.net/

By playing with gradients I can get interesting images but I end up
with a lot of artifacts. When I browse the Web I see really nice
images with absolutly no artifacts and I would like to produce high
quality images like that too. Is it possible to do the antialiasing in
real-time ? What are the techniques involved ?

Thanks for your time,

--
Yannick Gingras
Math Student, UQAM

SunCode

non lue,
10 avr. 2005, 22:21:5010/04/2005
à
Hello Yannick!

The best way I found was to use a modified supersample and then use a 3x3
grid. Do this: Divide the pixel to render in 3x3 sub-pixels. Iterate them
all and save the results. After all nine sub-points are examined then
compare the results and discharge all but the one that used the least number
of iterations and write that one as the pixel on the screen. If you do this
you do not need to anti-anilise. The drawback is that the method is slow as
... (nine times slower than normally), but the result is pretty nice.

Examples:

Here: http://members.chello.se/solgrop/Fractalus/Galleri2.htm
Here: http://members.chello.se/solgrop/Fractalus/Galleri.htm
And here: http://members.chello.se/solgrop/Fractalus/julias.htm

(I also used a palette of 8192 colours and the same amount of iterations to
create the images.)

Regards:
SunCode

"Yannick Gingras" <ging...@gmail.com> skrev i meddelandet
news:1113159087....@l41g2000cwc.googlegroups.com...

adam majewski

non lue,
11 avr. 2005, 14:49:5711/04/2005
à
SunCode napisał(a):

> Hello Yannick!
>
> The best way I found was to use a modified supersample and then use a 3x3
> grid. Do this: Divide the pixel to render in 3x3 sub-pixels. Iterate them
> all and save the results. After all nine sub-points are examined then
> compare the results and discharge all but the one that used the least number
> of iterations and write that one as the pixel on the screen. If you do this
> you do not need to anti-anilise. The drawback is that the method is slow as
> ... (nine times slower than normally), but the result is pretty nice.
>
> Examples:
>
> Here: http://members.chello.se/solgrop/Fractalus/Galleri2.htm
> Here: http://members.chello.se/solgrop/Fractalus/Galleri.htm
> And here: http://members.chello.se/solgrop/Fractalus/julias.htm
>
> (I also used a palette of 8192 colours and the same amount of iterations to
> create the images.)
>
> Regards:
> SunCode
>
Very intresting images
It would be great if you could write in english.
especially if you could put all information about every image how it was
created.

Adam Majewski


http://republika.pl/fraktal

SunCode

non lue,
11 avr. 2005, 22:02:1911/04/2005
à
Hello Adam.

I created the site just because there are like thousands of sites about
fractals in english and wery few of them in Swedish. I'm mostly write about
fractals in the wikipedias (both Swedish and English) nowdays so the site is
more or less dead. Here are a link to my latest pictures at the pedia

http://commons.wikimedia.org/wiki/Category:Images_of_fractals

Some of the images has got decriptions and more of them will be added. Most
of my methods will be described in time. Set back to "Commons" after the
summer or so and this is probably better then.

And for the Polish wiki : http://pl.wikipedia.org/wiki/Fraktal

Regards:
SunCode

"adam majewski" <adam...@o2.pl> skrev i meddelandet
news:d3egp9$biv$1...@news.dialog.net.pl...

Edwin Young

non lue,
15 avr. 2005, 00:29:4215/04/2005
à
"SunCode" <sol_deve...@hotmail.com> writes:

> Hello Yannick!
>
> The best way I found was to use a modified supersample and then use a 3x3
> grid. Do this: Divide the pixel to render in 3x3 sub-pixels. Iterate them
> all and save the results. After all nine sub-points are examined then
> compare the results and discharge all but the one that used the least number
> of iterations and write that one as the pixel on the screen.

Just curious: why do that rather than compute the average color of the
subpixels?

--
Edwin

SunCode

non lue,
15 avr. 2005, 06:50:5515/04/2005
à

"Edwin Young" <ed...@bathysphere.org> skrev i meddelandet
news:m3y8bki...@localhost.localdomain...

Hello Edwin!

Just because this make the chance bigger two adjecting points will get
nearby colours. This makes a sharper, (less blury) image than the average.
Think about a Julia spiral that hat got spirals, spirals ... Then two nearby
points in one of the smaller spirals can have a wery big diffrence in used
iterations, (this makes a pixly image if super-sample is not used). The
average will still make a pixly image - just less pixly. If one uses least
number of iterations, then (maybe?) one of the points is not to deep into
the spiral. 2x2 sampling is not enough but 3x3 is pretty good. 4x4 makes a
slight better image still but if one consider the time it takes to calculate
it - then it is not woth it (16 times slower than normally)

SunCode.

Yannick Gingras

non lue,
17 avr. 2005, 21:40:3817/04/2005
à
SunCode wrote:
> "Edwin Young" <ed...@bathysphere.org> skrev i meddelandet
> news:m3y8bki...@localhost.localdomain...
> > "SunCode" <sol_deve...@hotmail.com> writes:
> >
> > > Hello Yannick!
> > >
> > > The best way I found was to use a modified supersample
> > > and then use a 3x3 grid. [snip]

> >
> > Just curious: why do that rather than compute the
> > average color of the subpixels?
>
> Just because this make the chance bigger two adjecting points
> will get nearby colours. This makes a sharper, (less blury)
> image than the average. Think about a Julia spiral that hat
> got spirals, spirals ... Then two nearby points in one of the
> smaller spirals can have a wery big diffrence in used
> iterations, (this makes a pixly image if super-sample is not
> used). The average will still make a pixly image - just less
> pixly. If one uses least number of iterations, then (maybe?)
> one of the points is not to deep into the spiral. 2x2 sampling
> is not enough but 3x3 is pretty good. 4x4 makes a slight better
> image still but if one consider the time it takes to calculate
> it - then it is not woth it (16 times slower than normally)

In my particular case I'm more limited by RAM. For a 300 dpi 8.5x11
print I can't fit an image 9 times larger than my target in memory. Do
you compute 9 sub-pixels per real pixel in a 3x3 matrix or do you
compute a huge sub-pixel matrix then compute the pixels from this matix
?

Also, computing 9 times more pixels is a lot of computation. Do you do
period detections ? If so, do you use an error factor or do you go for
exact match ? I detect really few periods on a typical region with
1024 iterations and an error factor as large as I can set it before I
get false positives.

SunCode

non lue,
18 avr. 2005, 07:30:3818/04/2005
à
Hello!

> In my particular case I'm more limited by RAM. For a 300 dpi 8.5x11
> print I can't fit an image 9 times larger than my target in memory. Do
> you compute 9 sub-pixels per real pixel in a 3x3 matrix or do you
> compute a huge sub-pixel matrix then compute the pixels from this matix
> ?

Nine sub-pixels per real pixel. Iterate all nine of them. Test for least
number of used iterations among these. Use that value for colouring. The
rest of the values are discharged and there is no need to save these so you
do not need to use all that RAM =)

> Also, computing 9 times more pixels is a lot of computation. Do you do
> period detections ? If so, do you use an error factor or do you go for
> exact match ? I detect really few periods on a typical region with
> 1024 iterations and an error factor as large as I can set it before I
> get false positives.

I'm doing this the "hard way". Slow - yes, but the result was my aim so I
did not mind.

Yesterday I created this page:
http://commons.wikimedia.org/wiki/Image:Julia_set_%28highres_01%29.jpg

Try to click "download hi-res version 2048x2048" just benath the picture.
It's huge =) At the page there are a re-written version of some parts of
this thread. And there I also explain how I create my colour-palettes.

All clear?

Regards:
SunCode.

Yannick Gingras

non lue,
22 avr. 2005, 00:11:3222/04/2005
à
SunCode wrote:
> Hello!
>
> > In my particular case I'm more limited by RAM. For a 300 dpi
8.5x11
> > print I can't fit an image 9 times larger than my target in memory.
Do
> > you compute 9 sub-pixels per real pixel in a 3x3 matrix or do you
> > compute a huge sub-pixel matrix then compute the pixels from this
matix
> > ?
>
> Nine sub-pixels per real pixel. Iterate all nine of them. Test for
least
> number of used iterations among these. Use that value for colouring.
The
> rest of the values are discharged and there is no need to save these
so you
> do not need to use all that RAM =)

I tried it and I really like the result:

http://ygingras.net/images/aa.png

I found some mini-optimisation: while I compute the sub-pixels, I keep
the minimal escape found in the 3x3 grid so far. I don't iterate
further than this value for the other sub-pixels in the grid.

> > Also, computing 9 times more pixels is a lot of computation. Do
you do
> > period detections ? If so, do you use an error factor or do you go
for
> > exact match ? I detect really few periods on a typical region with
> > 1024 iterations and an error factor as large as I can set it before
I
> > get false positives.
>
> I'm doing this the "hard way". Slow - yes, but the result was my aim
so I
> did not mind.

I had a bug in my period detection. The check point was not updated
after the first pixel. I can now compute up to 2^30 iterations without
problems. Well, I can compute it offline, it's still too slow for the
web interface (http://fract.ygingras.net/).

> Try to click "download hi-res version 2048x2048" just benath the
picture.
> It's huge =) At the page there are a re-written version of some parts
of
> this thread. And there I also explain how I create my
colour-palettes.
>
> All clear?

At the moment I use Gimp gradients to generate my color maps. The file
format is really simple but editing the palette by hand is a bit
painfull. I think I'll try parametric palettes too.

Thanks again!

--
Yannick Gingras

SunCode

non lue,
22 avr. 2005, 05:09:2222/04/2005
à
> I tried it and I really like the result:

Yep! it is good.

> I found some mini-optimisation: while I compute the sub-pixels, I keep
> the minimal escape found in the 3x3 grid so far. I don't iterate
> further than this value for the other sub-pixels in the grid.

Nice! I will use that.

> At the moment I use Gimp gradients to generate my color maps. The file
> format is really simple but editing the palette by hand is a bit
> painfull. I think I'll try parametric palettes too.

It works fine and is so simple to do, absolutely worth a try.

> Thanks again!

I Love to help =)

SunCode.

0 nouveau message