Forum

Maxfloats in damper for girlpower/Complex Numbers

I just loaded up the Complex Numbers demo in girlpower in 45beta26 and noticed that in the grid of points produced, a lot of seemingly arbitrary points were missing. If I reroute things from the Power node directly to the ArbitraryPoint node, bypassing the dampers, then all the points are there. When I look at the output of the dampers in the inspector, it turns out that there are a lot of values which seem permanently pegged to MaxFloat. I’m totally confused as to why this would be. I’m confused partly because…well, because damper is supposed to work rather than produce maxfloats. It’s also unclear why some points are maxfloats and their neighboring points are not. It seems to happen in “clumps” - i.e., there are geometric areas of the grid that are okay and other areas that are not. There’s no obvious pattern behind where these areas are, though. Also, it’s odd that it’s a particular set of points that max out. If the occasional point would max out due to a division by zero, that might make sense, but these points are permanently maxed out. Anybody have any idea what’s going on here?

Okay - I closed it down and reran and all the points seem to be there so here’s my theory…

Damper has to keep a history of points that come through it so it can damp the new points based on the old values. If it ever gets a maxfloat coming through, that maxfloat gets into this history. Once the maxfloat is in the history, any new points that get damped with that history get pulled up to maxfloat themselves - kind of a black hole of vvvv. So once they’re in, they’re in for life. Since the complex numbers demo runs a bunch of pseudo-random points through a bunch of psuedo-random functions, they’re bound to occasionally produce maxfloats. I had let this thing run all night and came back this morning to look at it which is long enough to cause significant occurences of this sort.

Okay, theory confirmed. When I clamp the values to +/-200 the problem disappears. Much nicer. Interestingly, I couldn’t clamp to +/-2 (the actual edge of the render since there is a scale of 0.5) because the damping would occasionally cause them to rush to the border but damp at the edge which made a noticeable artifact around the edges.

So sorry - figured it out before I had a chance to post but I saw earlier that somebody was looking for an answer to a similar question so I’m posting for information’s sake.

thanks!.. no text …