Files
XCEngine/docs/api/math/vector3/project-on-plane.md
ssdfasd 0f0ab8922a docs: fix naming conventions across threading, math, memory, core, and debug modules
threading/:
- Rename 19 camelCase method files to hyphenated names
- task-system: createtaskgroup→create-task-group, etc.
- tasksystemconfig: enabletaskprofiling→enable-task-profiling, etc.
- thread: getcurrentid→get-current-id, etc.
- task: addref→add-ref, getid→get-id, etc.

math/:
- Rename underscore operator files to hyphenated
- vector3: operator_add→operator-add, etc.
- matrix4: gettranslation→get-translation, etc.
- vector4: tovector3→to-vector3, constructor_vector3→constructor-vector3
- sphere: sphere_constructor→sphere-constructor, etc.

memory/:
- Remove duplicate memorymanager/ folder (kept manager/ which was correct)

core/:
- filewriter: Consolidate ctor-default.md and ctor-file.md into constructor.md
- Rename dtor.md→destructor.md

debug/:
- filelogsink: Rename construct.md→constructor.md, ~filelogsink.md→destructor.md

All overview pages updated with new file references.
2026-03-22 23:09:29 +08:00

31 lines
656 B
Markdown

# Vector3::ProjectOnPlane
```cpp
static Vector3 ProjectOnPlane(const Vector3& vector, const Vector3& planeNormal)
```
将向量投影到平面上(减去沿平面法线的分量)。
**参数:**
- `vector` - 要投影的向量
- `planeNormal` - 平面法线
**返回:** `Vector3` - 平面上的投影向量
**线程安全:**
**复杂度:** O(1)
**示例:**
```cpp
Vector3 v(1.0f, 1.0f, 1.0f);
Vector3 normal(0.0f, 1.0f, 0.0f); // XZ 平面
Vector3 projected = Vector3::ProjectOnPlane(v, normal); // (1, 0, 1)
```
## 相关文档
- [Vector3 类总览](vector3.md) - 返回类总览
- [`Project`](project.md) - 投影到法线上