algorithmic modeling for Rhino
Starting from a sphere and reducing its volume while keeping the surface area and preventing self-intersection produces some nice buckling patterns.
Using the Volume and SphereCollide goals in Kangaroo 2.02. This example file can be downloaded from here:
http://www.grasshopper3d.com/group/kangaroo/page/kangaroo2-additional-examples
Tags:
Comment
Oh yesss, torture for this hours of the morning... X) I swear I thought for a moment that the floating points fulfilled the paradox of Schrodinger's cat haha but Rutten gives the answer in the third link. Thanks for them.
But following your question, is it applied the same rule to 0,0...0001 and to 0,2...6528? It seems that there is no apparent logic to cancel the differences, but it should be somewhere. Is it round, or that the sum is canceled each other for some reason?
I was intrigued by this conversation and started reading about precision until steam started coming out of my ears (and this is not the first time I do this search....).
It is generally about how computers deal with real numbers (floats-doubles).
I can't say I understand all of this in depth and certainly can't break it down to an easy-to-comprehend explanation so instead I will just torture you by providing links (hehehe)
http://www.grasshopper3d.com/forum/topics/floating-point-error-why-...
http://www.grasshopper3d.com/forum/topics/units-and-precision
http://www.grasshopper3d.com/forum/topics/remap-brep-to-xy-plane-in...
http://www.grasshopper3d.com/forum/topics/minimum-value-which-float...
http://www.grasshopper3d.com/forum/topics/is-mesh-coordinate-precision
http://en.wikipedia.org/wiki/Floating_point#Alternatives_to_floatin...
(I find Hannes Löschke's posts very helpful (and he is involved in most of these conversations))
Still I have many questions,
for example, in the image you posted, why do all the distances add up to exactly 100? Do the precision errors cancel each other out??
Good @Nikos, but you (or anyone) could confirm the true accuracy used internally? Because one thing is the numeric display and ither is the really used. I say... why the computer will use more precision than it needs, if silly consume memory?
I really do not want to seem an obsessed stubborn, but this does not finish to convince myself... :/
I understand that, but assuming that idea, I wonder... having a spherically symmetric mesh (thi is, rebuilding the mesh projecting points to a spherical surface, all points equally far to the center), where the irregularity is born? Why a differential error should appear on floating values if all points are applied the same force? Rhino has a limit on the floating accuracy but should apply to all points in the same way? Why the floating error accumulation is not constant at all points?
I think the error are in the length of the lines of input mesh. Someone could get wrinkles asymmetrical in a input mesh with edges with the same length? I tried it and could not.
This is a unimportant issue, but I'm too curious to not deepen xD
Adding irregularities in edges, the mesh should wrinkle asymmetrically, and it is.
Also helps that physical simulations of this complexity are really chaotic, so small floating point errors snowball into larger changes. In situations where a more stable equilibrium is reachable this isn't a concern.
Daniel: as Mateusz said it looks like it comes from floating point error accumulation.
Ok, good to know! But where this imperfections may arise if the accuracy is the same for all points-coordinates? They should not have the same error at every point, so would maintain the symmetry? Or am I missing something? I saw the lines of the mesh after the subdivision are of different sizes, it is not most probable that local differences in the lengths of the lines triggered the broken symmetry? You'd be able to get those wrinkles in a mesh with identical edges as a box mesh?
@Daniel - Kangaroo does not iterate point-by-point, but does a simultaneous global solve for each iteration.
I think it is more that although the starting configuration has icosahedral symmetry (it is a mesh subdivided with Weaverbird), when this is represented with finite precision xyz coordinates it introduces tiny numerical imperfections, which trigger the symmetry breaking.
What's nice is that slight variations in the input parameters (pressure, volume reduction fraction, smoothing strength, etc.), can produce such richly varying geometries.
Here's some of the research that prompted my interest in these matters:
Could it be that the asymmetry comes from the imbalance caused by the sequential execution (iterating point by point)?
Welcome to
Grasshopper
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!