用途:为 Three.js 中的 3D 数学提供参考,涉及向量、矩阵、四元数、旋转、颜色与坐标变换,并列出常见错误以防误用。
主要能力:介绍 Three.js 右手 Y 轴向上的坐标系,以及 Blender、FBX、OBJ、IFC 导入的转换规则(OBJ 需加载后验证朝向,IFC 需应用 -90 度 X 旋转或使用转换加载器)。梳理核心数学类:Vector3/Vector2/Vector4、Matrix4(列主序,平移位于 elements[12..14],compose/decompose 支持 TRS)、Quaternion(0,0,0,1)、Euler(0,0,0,'XYZ')、Color(0-1 范围)、MathUtils(degToRad、clamp、lerp、mapLinear、smoothstep、damp 等)、Box3、Sphere、Plane、Ray、Frustum。
使用方式:通过 import { Quaternion } from 'three'; 等引入类,调用 setFromAxisAngle、setFromEuler、slerp、compose、applyMatrix4 等方法;参考分节含 methods.md、examples.md、anti-patterns.md。
适用场景:固定旋转、动画插值、组合旋转、包围体计算、射线与视锥检测、颜色空间转换等。
限制与提醒:多数方法原地修改,操作共享实例前须用 clone();勿直接插值欧拉角或手动设四元数分量;色相动画用 lerpHSL();旋转方法使用弧度,需用 MathUtils.degToRad() 转换;导入模型须验证朝向。