POV-Ray : Newsgroups : povray.binaries.images : Apollonian [CG]Sphere packings : Re: Apollonian [CG]Sphere packings Server Time
27 Sep 2024 01:21:06 EDT (-0400)
  Re: Apollonian [CG]Sphere packings  
From: MichaelJF
Date: 17 Sep 2024 11:55:55
Message: <66e9a68b$1@news.povray.org>
Am 16.09.2024 um 18:25 schrieb Bald Eagle:

> 
> I find this interesting.
> Somehow that doesn't seem like a lot of spheres for those system specs.

Yes indeed, you're right. While parsing the 14 generation version I got 
the message:

"OSP05_CE_3_0_14_244110_onlySpheres.inc" line 54118526: Parse Error: 
Expected 'numeric expression', ,  found instead

Render failed

But there is no single syntax error in this include-file which was 
automatically generated by another render. And since the 13 generation 
version used some 16 GB peak memory I assumed that there was not enough 
memory for the larger version. But in the meantime I have also been able 
to render the version with 14 generations. There seems to be another 
limit I reached. Most likely the size of an include file may not exceed 
2GB, since after dividing the original file of some 4 GB into smaller 
pieces (< GB) all went well.

But I think, one has to meet a compromise between the number of balls 
and the possibilities to depict them. IMO, 13 generations is a good setting.


> Very nice work!  I'm glad you pursued this topic with all of the subsequent
> renders :)

Thank you!

> How long did it take you to adapt this to 3D, and how much extra code is there?

I didn't used the algorithm from

https://news.povray.org/povray.advanced-users/message/%3C6670942f%40news.povray.org%3E/#%3C6670942f%40news.povray.org%3E

but wrote an approach after formula (3.25) from

https://arxiv.org/pdf/math/0010298

first for the 2D-case which was straightforward and caused no problems. 
Then I implemented the same idea in 3D and could calculate all balls. 
Unfortunately, not just once. Many spheres occurred several times, 
sometimes several hundred times. I made some progress in finding rules 
to avoid repetitions but couldn't get rid of all the duplicates.

Now that I had been working on the topic for a while, I recognised my 
reflection matrices in the code given by Esperanca, which I hadn't been 
able to do at first, and was able to convert his rules to POV.

https://observablehq.com/@esperanc/3d-apollonian-sphere-packings

> Maybe just honor one request - do one with iridescent bubbles.  :)

Maybe, but this renders a while...

global_settings { max_trace_level infinity }


Best regards
Michael


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.