How to find normal vector direction on a time-evolving curve with curvature and torsion?

56 Views Asked by At

I have a question about computing normal vector direction to a time-evolving curve please.

The normal vector direction for a curve in 3D space with curvature k and zero torsion can be found by rotating the current velocity vector, for instance [1,1,0], by 90 degrees around the z-axis for every time step:

$$ \begin{matrix} 1 * cos (Pi/2) - 1 * sin (Pi/2) \\ 1 * sin (Pi/2) + 1 * cos (Pi/2) \\ 0 \end{matrix} $$

This is because the normal always lies on the same xy-plane, and is unique after a consistent rotation angle of 90 degrees.

But when the torsion is non-zero, the z-component of velocity will grow over time as the bi-normal vector points it into the z-direction and cause the z-component of velocity to be non-zero over time. The velocity is no longer planar on the xy-plane.

What should the equivalent rotation formula be to find the correct normal vector direction now, for example when the velocity vector is currently [1,1,1]:

$$ \begin{matrix} ? \\ ? \\ ? \end{matrix} $$

Thank you.