Interpolate points on an n-dimensional line by euclidean arc length.
pip install nd_line
-
ln.interp(dist)
: returns a point dist length along the arc of the line -
ln.interp_rat(ratio)
: ratio should be a value between 0 and 1, returns a value ratio*length along the line -
ln.splineify(samples)
: generates a new line from a spline approximation, occurs in place, use samples to specify how many points will be sampled from the splines to generate the new line
ln.points
: the points of the lineln.length
: the length of the lineln.type
: linear if not spline approximated, spline otherwise
from nd_line.nd_line import nd_line
import numpy as np
ln = nd_line(np.array([[0, 0, 0], [1, 1, 1], [2, 2, 2]]))
interpolated_point = ln.interp(1.5)
line_length = ln.length
halfway_point = ln.interp_rat(0.5)
Currently points must be sampled one at a time, future version will allow interpolation of a list of distances along the line