Stupid coding cassini curve

So, im working on new curves… Still want to find that quintesential Cassini curve

Triggered again by this article, i thought i’d give it a chance dividing a circle into segments…

And this was the first “attempt” that got me excited. Was not expecting that geometric “holistic” correlation.

I still have no clue how the holistic module works (i call it the relativistic module) but it’s doing it’s thing! I was looking at how to partition points on the curve based on the divisions and start new circle “arcs” there after. Maybe coming up soon. Im not looking for answers to my code to come, any variations welcome but im wondering how this holistic module made everything so much simpler!

Any “explain it to me like im 5” about the relativistic module welcome…

Roses.gh (8.8 KB)

Looking for another uneducated question: if i map this to a sphere, how are geodesics related based on this module? (or optimized? if that is a “related” question - any guidance welcome)…

Obviously im stretching the relationship to Cassini curves a bit… It’s how my brain connects when in lack of deeper understanding, no offense…

In your screenshot, the Cross-Reference component is not being really used.
What it does is to try to create different types of relations between the two sets of data.

The actual “magic” is going on in the last circle component, because you give the points as a numeric input, the numeric input tries to transform those points to a numeric value to use for the radius, the way it does it is to take the distance from those points to the 0,0 coordinate (actually, it reads the points as vectors and get the vector length)

Because the radius of the new circles is the same as the original one, you get the rose configuration.

Here is the same definition as yours, but without
the components that are not really doing anything relevant for the shape

New iteration

Dang, you are right, I was looking at it also when trying to connect it to other inputs without changes in the final graphic…

without the holistic it does change a lot in pattern style though…

when you connect a Point3D parameter to an input that demands a number, like for instance here where you connect Points to Crossreference, then use those Points as Radius, GH automagically translates the Point3D into a number by computing the distance of the point 3D from the origin 0,0,0 (or think about it as computing the length of the vector represented by that Point)

because your composition is centered on the 0,0,0 origin, and because those points are achieved by dividing a perfect circle into equal distances, then the distance of those point from the origin is equal for all of them and equal to the radius of the initial Circle itself

you can delete the Crossreference component and connect its A output to the initial Radius number slider, the only thing that should differ is that less identical circles gets overlapped over each other