geom-center-and-normalize
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

geom-center-and-normalize

Center a simplicial complex geometry's positions in place and scale them to fill a defined bounding box.

Installation

npm install geom-center-and-normalize

Usage

import centerAndNormalize from "geom-center-and-normalize";

const positions = new Float32Array([
  // p1 [x, y, z]
  1, 1, 1,
  // p2 [x, y, z]
  2, 2, 2,
  // p3 [x, y, z]
  3, 5, 3,
]);
const normalizedPositions = centerAndNormalize(positions);
// => Float32Array(9) [
//   -0.25, -0.5, -0.25,
//   0, -0.25, 0,
//   0.25, 0.5, 0.25,
// ]

API

centerAndNormalize(positions, [options]): positions

Parameters

  • positions: TypedArray | Array | Array<[x, y, z]> – simplicial complex geometry positions (eg. new Float32Array([x, y, z, x, y, z, ...])/new Array(x, y, z, x, y, z, ...) or new Array([x, y, z], [x, y, z], ...))

  • options: { center: boolean, normalize: boolean, normalizedSize: number } – enable/disable centering/normalizing and control normalized scaling. center and normalize defaults to true. Scale defaults to 1.

Returns

  • positions: TypedArray | Array | Array<[x, y, z]> – The positions parameter array updated, centered at [0, 0, 0] and normalized to a bounding box of normalizedSize ([-halfScale, -halfScale, -halfScale] x [halfScale, halfScale, halfScale]).

License

MIT. See license file.

Package Sidebar

Install

npm i geom-center-and-normalize

Weekly Downloads

6

Version

2.2.0

License

MIT

Unpacked Size

6.77 kB

Total Files

6

Last publish

Collaborators

  • vorg