threejs-math
three.js math library: Vector2/3/4, Matrix3/4, Quaternion, Euler, Color, Box2/Box3, Sphere, Plane, Ray, Line3, Triangle, Frustum, Cylindrical/Spherical coords, MathUtils, and Interpolant base classes; addon math utilities such as OBB, Octree, Capsule, ConvexHull, MeshSurfaceSampler. Use for transforms, intersection tests, and spatial queries; for keyframe interpolation tied to AnimationMixer use threejs-animation; for picking implementation use threejs-objects with Raycaster.
How do I install this agent skill?
npx skills add https://github.com/full-stack-skills/threejs-skills --skill threejs-mathIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides documentation and workflow examples for using Three.js math libraries. No security issues or malicious patterns were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
When to use this skill
ALWAYS use this skill when the user mentions:
- Vector/matrix math order,
applyQuaternion,lookAt, world vs local transforms - Bounding volumes
Box3/Sphere, containment/intersection tests RayvsPlanevsFrustumtests (without full picking pipeline)
IMPORTANT: math vs objects vs animation
| Need | Skill |
|---|---|
| Raw math types | threejs-math |
Raycaster + layers picking | threejs-objects |
| QuaternionKeyframeTrack playback | threejs-animation |
Trigger phrases include:
- "Vector3", "Matrix4", "Quaternion", "Box3", "Ray", "Frustum"
- "向量", "矩阵", "四元数", "包围盒"
How to use this skill
- Conventions: multiply vectors by matrices on the left as three.js examples show; call
updateMatrixWorldbefore world-space queries (threejs-objects). - Bounding:
Box3().setFromObject(object)for rough bounds; refine per need. - Collision-ish checks:
ray.intersectBox,sphere.containsPoint, etc., per docs. - Addon structures:
Octree/OBBfor games—cite addon pages, avoid copying full API tables here. - Color:
Colorconversions relate to materials/textures—cross-link. - Random sampling:
MeshSurfaceSamplerfor distributing points on meshes.
See examples/workflow-ray-aabb.md.
Doc map (official)
| Docs section | Representative links |
|---|---|
| Math | https://threejs.org/docs/Vector3.html |
| Math | https://threejs.org/docs/Matrix4.html |
| Math | https://threejs.org/docs/Quaternion.html |
| Math | https://threejs.org/docs/Ray.html |
Scope
- In scope: Core Math types; addon math entries as pointers.
- Out of scope: Keyframe track evaluation beyond type references (animation skill).
Common pitfalls and best practices
- Euler gimbal lock—prefer quaternions for arbitrary rotations.
- Reusing temporary vectors reduces GC thrash in hot loops.
- Frustum culling helpers vary—verify against your three version.
Documentation and version
Core math types are listed under Math; addon utilities (Octree, OBB, …) appear under Addons → Math in three.js docs. Global also lists constants (e.g. wrapping, blending) sometimes needed alongside materials.
Agent response checklist
When answering under this skill, prefer responses that:
- Link the concrete type (
Vector3,Matrix4,Quaternion, …) from the docs. - Send
AnimationMixer/ track math to threejs-animation when time-sampled. - Send
Raycasterpicking flows to threejs-objects when interaction is the goal. - Mention numeric stability (epsilon) where comparisons matter.
- Point to Addons → Math for game-oriented structures when users need spatial acceleration.
References
- https://threejs.org/docs/#Math
- https://threejs.org/docs/MathUtils.html
- https://threejs.org/docs/Ray.html
Keywords
English: vector, matrix, quaternion, euler, box3, sphere, ray, frustum, three.js
中文: 向量、矩阵、四元数、欧拉角、包围盒、射线、three.js
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/full-stack-skills/threejs-skills/threejs-math">View threejs-math on skillZs</a>