UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

19 lines 794 B
import { PI2 } from "../globals"; import { PI } from "../globals"; import Point3d from "../math/Point3d"; export const findClosestEulerAngle = (euler1, euler2) => { // Compute the difference between the two Euler angles let diff = [euler2.x - euler1.x, euler2.y - euler1.y, euler2.z - euler1.z]; // Convert the difference to the range of -180 to 180 degrees for each angle for (let i = 0; i < 3; i++) while (true) if (diff[i] > PI) diff[i] -= PI2; else if (diff[i] < -PI) diff[i] += PI2; else break; // Compute the closest equivalent Euler angle return new Point3d(euler1.x + diff[0], euler1.y + diff[1], euler1.z + diff[2]); }; //# sourceMappingURL=findClosestEulerAngle.js.map