RectifiedPath

abstract class RectifiedPath<T : EuclideanVector<T>>(val originalPath: Path<T>, distanceTolerance: Double = 0.5, lengthScale: Double = 1.0)(source)

Provides a rectified representation of a path in N-dimensional Euclidean space. Rectification refers to the process of mapping the parameter space of the path to a uniform distribution based on arc length.

Parameters

T

The specific type of Euclidean vector representing the dimension of the path.

distanceTolerance

The acceptable tolerance for the distance error in the rectification process. Default value is 0.5.

lengthScale

Scale factor to adjust the length of the Look-Up Table (LUT) for the rectified path. Default value is 1.0.

Inheritors

Constructors

Link copied to clipboard
constructor(originalPath: Path<T>, distanceTolerance: Double = 0.5, lengthScale: Double = 1.0)

Properties

Link copied to clipboard

Lazy-evaluated list of parameter intervals corresponding to the points property, used for mapping and inverse mapping of parameter values.

Link copied to clipboard
val originalPath: Path<T>

The underlying path being rectified.

Link copied to clipboard

Final list of points used in the rectification process, possibly including an additional point to close the loop if the original path is closed.

Functions

Link copied to clipboard

Evaluate curvature for t

Link copied to clipboard
fun direction(t: Double): T
Link copied to clipboard

Computes an inverse rectified t-value for the given normalized t parameter. This method determines the original parameter space value from a rectified (uniformly distributed) parameter space value.

Link copied to clipboard
fun position(t: Double): T
Link copied to clipboard

computes a rectified t-value for originalPath

Link copied to clipboard
open fun splitAt(ascendingTs: List<Double>, weldEpsilon: Double = 1.0E-6): List<Path<T>>

Split contour at ascendingTs

Link copied to clipboard
abstract fun sub(t0: Double, t1: Double): Path<T>