Cool to see that the hottest and most advanced company at the moment is using 'our' spiralled torus for their logo.

## Sunday, April 30, 2023

## Sunday, March 26, 2023

### 3D *Simi* Dual Mesh with Compute Shader in Unity

Last year we got somewhat stuck with the upgrade of the 3D Dynamic Foam program in Julia (Voro-X) to a more performant 2.0 version. The reason is that there is no CGAL version (yet) for Julia to use as the backbone.

So I decided to explore if a Compute Shader might be an option, because shaders use the full power of GPU's and can significantly increase the speed of simulations.

As such I got in touch with Polish developer Przemyslaw Zaworski to see if it was possible to get the Dynamic Foam model running with a Compute Shader in Unity.

The result is a *semi* 3D Dual Mesh simulator with a Delaunay Triangles/Tetrahedrons basis out of which a Semi-Voronoi-Mesh is distilled using the Jump Flooding Algorithm (JFA):

https://github.com/przemyslawzaworski/Unity-GPU-Based-Tetrahedralization

It is a *Semi* mesh because the Voronoi mesh is only a pixel/voxel-mesh and not a 'real' mesh made out of a conglomerate of points, edges and faces. As such it cannot be used to setup the interaction model between the two complimentary dual meshes (Delaunay/Voronoi). Perhaps in the future an actual Voronoi mesh can be extrapolated from the semi-Voronoi-mesh.

An other option worth exploring might be Mesh-shaders …

## Saturday, December 10, 2022

### Fig. 8 Logo Qatar World Cup 2022

## Monday, February 21, 2022

## Monday, December 20, 2021

### Voro-X

The past months I have been in contact with MIT postdoc BenoĆ®t Legat a mathematician in numerical geometry, who has converted the 2D DynamicFoam model, developed by an other MIT affiliate Nick Weigert, into a 3D application:

**Voro-X**

The name stands for Voronoi diagrams (foam) where energetic currents run through the edges of the mesh, and X-ings (junctions) that act like a gates where currents are switched OFF or ON based on the sharpness of the angles. (0/I)

The level of current passing through the edges, has river-like effects where 'sedimentation' makes the cells grow; and 'erosion' makes them shrink. The changes of the cell-size changes the angles, and thus the direction of the currents: currents can switch. This whole interaction model based on a few rules generates a CA type of Dynamic Foam.

Voro-X is build with the programming language Julia and you can download the program here:

http://www.800million.org/Vorox.zip

https://github.com/blegat/VoroX.jl

---

__Voro-X compared to Nick's 2D DynamicFoam (see Wiki-page):__

- The criticality used is equivalent to an infinite criticality and cannot be changed.
- If "Edge scale" is on, the dynamics is equivalent to DynamicFoam: it scales the edges. If it is off, it scales delaunay simplices.
- The "Height" setting changes the height of the rendering frame but does not influence the dynamics. The points are are samples in a fixed square or cube that cannot be changed.
- The "Periodic" setting determines whether the meshes is considered infinitely periodic along each directions.
- The "Voro shading" determines whether the Voronoi cells are displayed (if it is on) or the Delaynay cells (if it is off). The transparency of the shading is determined by the "Transparency" setting.

---

__Installation__

The program works on Windows, Mac and Linux,

but you first need to install Julia.

https://julialang.org/downloads/

Next dowload and unzip the Voro-x package/repository:

http://www.800million.org/Vorox.zip

Decompressed the package and rename it to for instance: Desktop/VoroX

Launch Julia and you get the prompt:

julia>

Type ] so that the prompts becomes:

(@v1.7) pkg>

(Note, backspace '<-' will bring back the julia> prompt )

Next activate VoroX.jl by typing:

(@v1.7) pkg> activate ~/Desktop/VoroX

(or via an other directory/name where you have placed the VoroX folder)

Now install its dependencies as follows:

(VoroX) pkg> instantiate

The installation will take a while.

Once this is done, to launch the software in Makie.jl, with K points and N dimensions (K, N), switch back to 'julia' by using 'backspace' and type:

julia> using VoroX

and finally the last command:

julia> foam(10, 3)

(This might take a longer time to load: 5 to 10 min.)

Note that N can only be 2 or 3 (for 2D or 3D)

----

See screenshot for how it looks in the Terminal on my Mac,

all in all it are just 4 input lines in Julia:

(@v1.7) pkg> activate ~/Desktop/VoroX

(Vorox) pkg> instantiate

julia> using VoroX

julia> foam(20, 3)

---

Next up is scaling this system up, to run with millions/billions of cells, get rid of some of the bugs, use optimum shading to visualise the foam and look for emergent pattern, knots!

## Saturday, December 18, 2021

### Fig. 8 Knot Used as Facebook's 'Meta' logo

Have you peeps seen the new FaceBook ‘Meta’ logo?

https://about.fb.com/news/2021/10/facebook-company-is-now-meta/amp/

It is like my 8-knot concept: a U-shape also turning into an 8

I had this already posted 12 years ago on my blog, check also my top banner:

Spiral windmill reference on my 800.000.000 YouTube-blog:

## Thursday, October 21, 2021

## Wednesday, June 30, 2021

### The Forces of the Dynamic Foam

The Forces of the Dynamic Foam model are in line with:

I. Newton's Law of Universal Gravitation where objects attract each other. The difference with the DF model is that the amount of current between the cells regulates the

Attraction force.

II. Einstein’s General Relativity calculates how Space is curved. In the DF model it is the amount of current between the cells that determines the

Contraction Force.

So Nick’s solution is only a variation of what already exists, check the details: