[sharing questions] jit.gl.pix snowflake generator

vichug's icon

Hi,
I would like to create a snowflake-like pattern generator using jit.gl.pix.

I made a patch that is attached, because i could not compressed-copy it since it made the topic creation crash. Attached as .zip and .maxpat in case one of them doesn't work.

The basic idea is to consider the structure of a snowflake as a perfect radial symmetrical shape, with six branches, away from each other by a same angle of π/3. Then that branch must have subdivisions, which are varying for each snowflake, and parameter for generation of subbranches could be derived from the values of a noisy input matrix. Subbranches would grow accordingly to the overall structure, and be separated from main branches by an angle of π/3 as well.

So in jit.gl.pix what i did so far is : having a white branch centered a the center of the window, repeated 6 times, and which size depends on a "time" parameter (from 0 to 1, symbolizing the "growth" of the crystal). I repeated the shape twice, because there is a weird (but mathematically coherent probably) offset from the center, so the two shapes are symmetrical by inversion of x axis ; they complement each other, you can offset them with the "datvalue" parameter. You can change the angle between branches ("moodulo" parameter), which creates more branches and incidentally funny shapes - especially at a very low angle, creating a lot of branches and interesting artifacts. Also i tried to have one subbranch, which apparition is triggered by the argb values of a cell inside the first row of the incoming noise matrix. The triggering does happen, but the subbranch grows along the main structure rather than what one would expect...

I've been struggling with a lot of basic concepts of jit.gl.pix, in fact i do this as a first introduction exercise to know better jit.gl.pix. I got stuck pretty fast though, on things that i thought would be easier to grasp on my own ; but i have a weak background in geometry mathematics so... That's also why the process is very iterative and progressive and wheezy rather than using actually clever and elegant and relevant maths formulaes (or jit.gl.pix adequate operators). (come to think of it, snowflake generation could maybe be an interesting topic for a tutorial on jit.gl.pix ? ;) )

So, what direction should i follow, or what do i need to learn in order to achieve this/where can i learn it ?

snowflakeforum.maxpat
Max Patch
snowflakeforum.zip
zip
vichug's icon

here is a lame attempt at a bump..