UNPKG

@thi.ng/geom-resample

Version:

Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation

49 lines 1.41 kB
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