Files
XCEngine/docs/api/math/quaternion/slerp.md
2026-03-20 02:35:15 +08:00

39 lines
905 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Quaternion::Slerp
```cpp
static Quaternion Slerp(const Quaternion& a, const Quaternion& b, float t);
```
球面线性插值,在两个四元数之间进行平滑旋转插值。参数 t 会被 clamp 到 [0, 1] 范围。
**参数:**
- `a` - 起始四元数
- `b` - 目标四元数
- `t` - 插值参数 [0, 1]0 返回 a1 返回 b
**返回:** 插值结果四元数
**线程安全:**
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Math/Quaternion.h>
#include <XCEngine/Math/Vector3.h>
#include <XCEngine/Math/Math.h>
using namespace XCEngine::Math;
Quaternion q1 = Quaternion::FromAxisAngle(Vector3::Up(), 0);
Quaternion q2 = Quaternion::FromAxisAngle(Vector3::Up(), Math::Radians(180.0f));
Quaternion result = Quaternion::Slerp(q1, q2, 0.5f);
```
## 相关文档
- [Quaternion](quaternion.md) - 返回类总览
- [Normalized](normalized.md) - 归一化四元数