# Transform vectors from cartesian coordinates to curve coordinate system [2d]

I have an object moving in a two-dimensional space and its position is given by cartesian coordinates $(x_i, y_i)$. This object also has a velocity vector $({v_x}_i,{v_y}_i)$ and an acceleration vector $({a_x}_i,{a_y}_i)$.

In this two-dimensional space there is another way to describe the position of an object: a coordinate system with directions $(s,t)$ where $s$ always follows the orientation of a defined arclength parameterized curve and $t$ is orthogonal to $s$.

The curve is defined by two polynoms of third order:

$x(s) = a_u + b_us + c_us^2+d_us^3$

$y(s) = a_v + b_vs + c_vs^2+d_vs^3$

with $s \in [0,length]$.

Transforming $(x,y)$ to $(s,t)$ is the same as finding the minimum distance from the curve to the given point.

1. How can velocity vector and acceleration vector be transformed? Unit vectors of this coordinate system are not constant and change over time.

2. Is it possible to compare resulting $(v_s, v_t)$ vectors of objects at different locations on the curve? I'd like to say which object moves faster along the path (${v_s}_i > {v_s}_j$) and whether an object sticks to its path (nearly no lateral movement, ($v_t \rightarrow 0$).

3. How is such a coordinate system called? 2d orthogonal curvilinear coordinate system? Because only one axis is "bent".

Thanks for your help.