Sciencemadness Discussion Board
Not logged in [Login ]
Go To Bottom

Printable Version  
Author: Subject: Off topic : picturial representation of explosions
pdb
Hazard to Others
***




Posts: 106
Registered: 8-4-2004
Member Is Offline

Mood: No Mood

[*] posted on 16-4-2025 at 02:57
Off topic : picturial representation of explosions


Besides my keen interest in energetic materials, I have been studying what are called "strange attractors" for a long time. In short, this involves calculating millions of points from iterative formulas xn+1 = f(xn, yn) and yn+1 = g(xn, yn), iterated hundreds of billions of times with a precision of 17 digits. The challenge is to invent f and g, and to try tens of thousands of graphs by varying the parameters they contain (limited to four to remain manageable) as well as the starting point x0, y0. I have obtained a few hundred interesting results out of hundreds of thousands of low-resolution graphs created. It’s like fishing for a remarkable fish in the ocean... When a fish seems interesting, I increase its resolution, fine-tune the parameters, and play with colors, which I distribute based on the density of the points.

In this entire process, randomness, chance, and intuition play their roles.

One day, I discovered a set of functions (f, g) that generate... explosions! The examples below are in medium resolution 3,000 x 3,000 due to forum limitations. It's the same graph, rendered with different colors. But when a graph is worthwhile, I compute it at 11,800 x 11,800 pixels and have it printed on a 1 m x 1 m plexiglass sheet.

KOS_f5m-00256[w3K_i10G_s0.95]2RZ.png - 4.7MB

KOS_f5m-00256[w3K_i10G_s0.95]HC8.png - 7MB

KOS_f5m-00256[w3K_i10G_s0.95].png - 5.6MB
View user's profile View All Posts By User
bnull
National Hazard
****




Posts: 994
Registered: 15-1-2024
Location: East Woods
Member Is Offline

Mood: Fecking annoyed

[*] posted on 20-4-2025 at 09:53


What is the formula for these graphs?



Quod scripsi, scripsi.

B. N. Ull

We have a lot of fun stuff in the Library.

Read The ScienceMadness Guidelines. They exist for a reason.
View user's profile View All Posts By User
pdb
Hazard to Others
***




Posts: 106
Registered: 8-4-2004
Member Is Offline

Mood: No Mood

[*] posted on 22-4-2025 at 08:51


Xn+1 = aXn + bYn + frac( c|Xn| / ( 1+|Yn| ) )

Yn+1 = aXn+1 - Xn + frac( c( Xn+1^2 - XnYn ) / ( 1 + |Xn+1^2 + XnYn| ) )

b must be equal to 0.9999
View user's profile View All Posts By User
woelen
Super Administrator
*********




Posts: 8150
Registered: 20-8-2005
Location: Netherlands
Member Is Offline

Mood: interested

[*] posted on 22-4-2025 at 11:25


Very interesting. I have done some experimenting with fractals as well, but this type of images is new to me.

Your (Xn+1, Yn+1) is not given as a pure 2D function of (Xn, Yn), but of course it can easily be formulated as such. I understand that from a computational point of view your formulation is more efficient, but numerical noise can cause quite different outputs.
It may be interesting to use 105 bit precision calculations and see whether the result is still comparable to what I see in your pictures.

Besides giving the formula, it also would be nice, if you elaborate on coloring scheme, plotting strategy and the exact choice of parameters a, b, c.




The art of wondering makes life worth living...
Want to wonder? Look at https://woelen.homescience.net
View user's profile Visit user's homepage View All Posts By User
woelen
Super Administrator
Thread Moved
22-4-2025 at 11:28
woelen
Super Administrator
*********




Posts: 8150
Registered: 20-8-2005
Location: Netherlands
Member Is Offline

Mood: interested

[*] posted on 22-4-2025 at 11:30


I moved this thread to "Computational models and techniques", because it is not really about energetic compounds. For the time being, I'll leave a link at the original location, so that people can find this interesting topic still through the original path.



The art of wondering makes life worth living...
Want to wonder? Look at https://woelen.homescience.net
View user's profile Visit user's homepage View All Posts By User
pdb
Hazard to Others
***




Posts: 106
Registered: 8-4-2004
Member Is Offline

Mood: No Mood

[*] posted on 23-4-2025 at 04:27


Colors: I have a code which distributes random colors according to the points density. When I find a nice combinaison I then tune the colors by modifying their numbers (usually from 6 to 18) and the density tresholds between them.

I gave b=.9999, otherwise it diverges if b >= 1. a, c can be given any values, although I usually remain in a [-10, 10] range.

The code is written in Python, and Cython for the calculation loop. As far as sensitivity to noise is concerned, I tend to think that calculating with 17 digits allows up to 1e12 iterations wihout fear. But I may be wrong...
View user's profile View All Posts By User
woelen
Super Administrator
*********




Posts: 8150
Registered: 20-8-2005
Location: Netherlands
Member Is Offline

Mood: interested

[*] posted on 28-4-2025 at 02:19


I have written Java code, capable of running iterative fractal schemes (e.g. IFS and fractal flames) and I think that it should not be too difficult to adapt this code, so that your formula is inserted. With the additional info you gave about the parameters I'll give it a try. Only thing, which still is somewhat unclear is the color scheme, but that is a matter of experimenting.
I'll run it in standard 64 bit IEEE 754 precision (standard double data type in Java) between 15 and 16 digits of accuracy, most likely your code uses this precision as well.

With IFS, as long as the transformations are contractions, the precise accuracy of the calculations is not that important, because the desired fractal is an attractor, and any set S of points converges to a set S' on the fractal when the iteration is continued indefinitely.

[Edited on 28-4-25 by woelen]




The art of wondering makes life worth living...
Want to wonder? Look at https://woelen.homescience.net
View user's profile Visit user's homepage View All Posts By User

  Go To Top