'Unrolling' the neighbourhood of a space curve

65 Views Asked by At

I have a space curve $\gamma : \mathbb{R} \longrightarrow \mathbb{R}^3$, sampled at $n$ discrete points. I have implemented an algorithm that gives me an approximation to $\gamma$'s tangent, normal and bivector ($\hat{t},\hat{n}, \hat{b}$) at each point, as well as the curvature $\kappa$. Throughout this space there are defined several fields, e.g. the scalar field $\rho : \mathbb{R}^3 \longrightarrow \mathbb{R}$, and the vector field (of velocities) $v : \mathbb{R}^3 \longrightarrow \mathbb{R}^3$.

At each point along $\gamma(t)$, there is a 2D space spanned by ($\hat{n},\hat{b}$). Let $U$ be the union of all these spaces (at all points along $\gamma$ -- so a kind of bendy sausage shape). I am interested in the values of $\rho$ and $v$ in $U$ (up to a short distance away from the nearest point in $\gamma$) and in particular I would like to transform $U$ such that $\gamma$ becomes a straight line and $U$ becomes a cylinder. What is the transformation needed to accomplish this? How do $\rho$ and $v$ change?

I would be interested in either a relevant numerical algorithm, or a solution in terms of differential geometry, or even just a general pointer to reading material.