@thi.ng/geom-resample
Version:
Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation
49 lines • 1.41 kB
TypeScript
import type { ReadonlyVec } from "@thi.ng/vectors";
/**
* Samples 2D polyline at uniform step distance in `[x1..x2]` interval along
* X-axis. Returns array of sampled points.
*
* @remarks
* The polyline is assumed to fully cover the given X interval, no gaps are
* allowed (or checked for). Sampling is done via ray-line intersection with the
* ray cast into Y+ direction, starting at given `startY`.
*
* Also see {@link sampleUniformY}.
*
* @example
* ```ts tangle:../export/sample-uniform.ts
* import { sampleUniformX } from "@thi.ng/geom-resample";
*
* console.log(
* sampleUniformX([[0, 0], [3, 5], [5, 2]], 0, 5)
* );
* // [
* // [ 0, 0 ],
* // [ 1, 1.666... ],
* // [ 2, 3.333... ],
* // [ 3, 5 ],
* // [ 4, 3.5 ],
* // [ 5, 2 ]
* // ]
* ```
*
* @param pts
* @param x1
* @param x2
* @param step
* @param startY
*/
export declare const sampleUniformX: (pts: ReadonlyVec[], x1: number, x2: number, step?: number, startY?: number) => ReadonlyVec[];
/**
* Similar to {@link sampleUniformX}, but samples 2D polyline at uniform step
* distance in `[y1..y2]` interval along Y-axis. Returns array of sampled
* points.
*
* @param pts
* @param y1
* @param y2
* @param step
* @param startX
*/
export declare const sampleUniformY: (pts: ReadonlyVec[], y1: number, y2: number, step?: number, startX?: number) => ReadonlyVec[];
//# sourceMappingURL=axis.d.ts.map