I have a 2D triangle which deforms with each vertex moving by some small ($\sin(x) \approx \tan(x) \approx x$) displacement vector. The displacement of any point in the triangle is linearly interpolated from the displacements at the vertices.
How can I find the rotation angle of any point in the triangle?
I want the rotation angle as a linear function of the vertex displacements and I feel that it should be (again, small displacements only). I tried the following approach but got bogged down in the enormous expressions that appear (hundreds or thousands of terms) and I'm not sure if it's even a correct way. Is there an easier way or does this simplify somehow?
- 1) Find the deformation gradient $F$ (2x2 matrix) using the displacements and the derivatives of the interpolation functions.
- 2) Find the polar decomposition $F=QS$ where $Q$ is orthogonal and $S$ is symmetric
- 3) Treat $Q$ as a rotation matrix and extract the rotation angle from it
I also tried more intuitive geometrical ways like averaging the rotation angles of all 3 vertices about the point but they don't seem to give correct looking results.