import { type ReadonlyVec, type Vec, type VecPair } from "@thi.ng/vectors/api"; /** * Computes the nD bounds of given vectors. `vmin` should be initialized * to `+∞` and `vmax` to `-∞` (e.g. use copies of `MIN*` / `MAX*` * constants defined in thi.ng/vectors). * * @remarks * Also see {@link bounds2}, {@link bounds3}. * * @example * ```ts tangle:../export/bounds.ts * import { bounds } from "@thi.ng/geom-poly-utils"; * import { MAX2, MIN2 } from "@thi.ng/vectors"; * * const points = [[-1,-2], [5,-3], [0,4]]; * * console.log( * bounds(points, [...MAX2], [...MIN2]) * ); * // [[-1, -3], [5, 4]] * ``` * * Returns 2-tuple of modified `[vmin, vmax]`. * * @param points - points * @param vmin - min result (pre-initialized to `+∞`) * @param vmax - max result (pre-initialized to `-∞`) */ export declare const bounds: (points: ReadonlyArray, vmin: Vec, vmax: Vec, start?: number, end?: number) => VecPair; export declare const bounds2: (points: ReadonlyArray, start?: number, end?: number) => VecPair; export declare const bounds3: (points: ReadonlyArray, start?: number, end?: number) => VecPair; /** * Calculates a near-optimal bounding circle for a set of points in 2D. Returns * tuple of `[centroid, radius]`. * * @remarks * Based on "An Efficient Bounding Sphere" by Jack Ritter "Graphics Gems", * Academic Press, 1990 * * Ported from: * https://github.com/erich666/GraphicsGems/blob/master/gems/BoundSphere.c * * @param pts */ export declare const boundingCircle: (pts: ReadonlyVec[]) => [Vec, number]; /** * Calculates a near-optimal bounding circle for a set of points in 3D. Returns * tuple of `[centroid, radius]`. * * @remarks * Based on "An Efficient Bounding Sphere" by Jack Ritter "Graphics Gems", * Academic Press, 1990 * * Ported from: * https://github.com/erich666/GraphicsGems/blob/master/gems/BoundSphere.c * * @param pts */ export declare const boundingSphere: (pts: ReadonlyVec[]) => [Vec, number]; //# sourceMappingURL=bounds.d.ts.map