Reconstructing curve from curvature as a function of arclength

I'm going to add an answer that I like a little better based on the book Differential Geometry by E. Kreyszig, Dover (1991), because I think it's useful.

Let $\mathbf{x}(s)$ be a vector curve in $\mathbb R^2$ parameterized by the scalar arc length $s$ $$\mathbf{x}(s) = \left(x(s),y(s)\right).$$ Then the first derivative of $\mathbf{x}(s)$ with respect to $s$ is $$\mathbf{\dot x}(s) = \frac{d \mathbf{x}(s)}{ds} = \mathbf{t}(s),$$ where $\mathbf{t}(s)$ is the unit tangent vector to the curve $\mathbf{x}(s)$, pointing towards the direction of increasing $s$. The second derivative of $\mathbf{x}(s)$ is given by $$\mathbf{\ddot x}(s) = \frac{d^2 \mathbf{x}(s)}{ds^2} = \mathbf{\dot t}(s) = \kappa(s) \mathbf{n}(s),$$ where $\kappa(s)$ is the signed curvature of the curve and $\mathbf{n}(s)$ is the unit normal vector pointing towards the interior of the circle (of radius of curvature $r(s) = 1/\kappa(s)$) circumscribed by the curve. The normal vector to the curve is also given by rotating the tangent vector by $\pi/2$ in the anticlockwise direction $$\mathbf{n}(s) = \left(-\dot y(s),\dot x(s)\right).$$

Thus, we have a set of coupled non-linear but otherwise ordinary differential equations to solve (numerically) for the original curve, given the boundary conditions $$\mathbf{x}(0) = \mathbf{x}_0,\quad \mathbf{\dot x}(0) = \mathbf{t}_0.$$

The relationship to what was given in the previous answer is the turning angle. The turning angle is the angle at which the tangent vector points with respect to the $+x$ axis $$\mathbf{t}(s) = \left(\cos{\psi(s)},\sin{\psi(s)}\right).$$ Then combining this definiton for $\mathbf{t}(s)$ and the definition of signed curvature we obtain $$\kappa(s) = \frac{d \psi(s)}{ds}.$$