UNPKG

loaders.gl

Version:

Framework-independent loaders for 3D graphics formats

37 lines (32 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalize = normalize; // Fit point cloud in a 1x1x1 box centered at [0, 0, 0] function normalize(points) { var xMin = Infinity; var yMin = Infinity; var zMin = Infinity; var xMax = -Infinity; var yMax = -Infinity; var zMax = -Infinity; for (var i = 0; i < points.length; i++) { xMin = Math.min(xMin, points[i][0]); yMin = Math.min(yMin, points[i][1]); zMin = Math.min(zMin, points[i][2]); xMax = Math.max(xMax, points[i][0]); yMax = Math.max(yMax, points[i][1]); zMax = Math.max(zMax, points[i][2]); } var scale = Math.max(xMax - xMin, yMax - yMin, zMax - zMin); var xMid = (xMin + xMax) / 2; var yMid = (yMin + yMax) / 2; var zMid = (zMin + zMax) / 2; for (var _i = 0; _i < points.length; _i++) { points[_i][0] = (points[_i][0] - xMid) / scale; points[_i][1] = (points[_i][1] - yMid) / scale; points[_i][2] = (points[_i][2] - zMid) / scale; } } //# sourceMappingURL=point-cloud-utils.js.map