# Animation Nodes: How can I apply a different matrix to every point in a mesh

I have a mesh that I want to deform, and since there doesn't seem to be a deformer built in to blender that does what I want, I thought I'd try animation nodes.

Here's my node tree. The four maths nodes calculate how far the point is on the XY plane to the center (distance to line would have done the same thing, but it doesn't work for lists). Then I have a rotation matrix where the amount of rotation is controlled by that distance. Now it's just a matter of applying the matrix to the vert, right. But computer says no! I can't give a list of matrices to the transform node.

Can anyone suggest a workaround?

EDIT OK, I sat down and did the maths, and I got THIS CLOSE to having it work. But EVERY. FREAKING. TIME. there is one node that I need that doesn't work with list inputs.

Here is the updated node tree, with the rotation calculated using maths nodes (the formula is written in on lwr left).

It is so close to working that I'm thumping the monitor.

Here's the original mesh. seen from top ortho:

Here is what I get with the nodes applied:

SO CLOSE! The only problem is that for verts where x==0 it is returning 0,0 because it's dividing by zero. You can see it when I set the strength to 0

So I thought I'd add a compare node, and for any vert where x==0 I'd use a formula that avoided the divide by zero problem. But of course the compare node doesn't work with lists. HNGGGGH!

Why is something so simple so bloody difficult in Blender? Because you haven't read the manual.