Fix 30+ broken cross-references in docs/api/math/: - viewport: viewport-getaspectratio/getrect -> getaspectratio/getrect - matrix4: ../color/operator-mul -> operator_mul, operator-index -> operator_index - matrix4/get-*: gettranslation/getscale/getrotation -> get-translation/-scale/-rotation - vector3 operator links: operator_*_assign -> operator-*-assign - vector3 operator links: operator_sub/add -> operator-sub/add - vector3 operator-eq/neq: swap mutual references to use hyphen naming - vector4: ../plane/constructor-default -> constructor_default - Linter fixes: aabb and rectint relative paths corrected
40 lines
791 B
Markdown
40 lines
791 B
Markdown
# Matrix4x4::GetScale
|
|
|
|
```cpp
|
|
Vector3 GetScale() const
|
|
```
|
|
|
|
从变换矩阵中提取缩放分量。计算各列向量的长度作为缩放因子。
|
|
|
|
**参数:** (无)
|
|
|
|
**返回:** 缩放向量
|
|
|
|
**线程安全:** ✅
|
|
|
|
**复杂度:** O(1)
|
|
|
|
**示例:**
|
|
|
|
```cpp
|
|
#include "XCEngine/Math/Matrix4.h"
|
|
#include "XCEngine/Math/Vector3.h"
|
|
|
|
using namespace XCEngine::Math;
|
|
|
|
Matrix4 transform = Matrix4::TRS(
|
|
Vector3(0.0f, 0.0f, 0.0f),
|
|
Quaternion::Identity(),
|
|
Vector3(2.0f, 3.0f, 4.0f)
|
|
);
|
|
|
|
Vector3 scale = transform.GetScale();
|
|
// scale = (2.0f, 3.0f, 4.0f)
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [Matrix4](matrix4.md) - 返回类总览
|
|
- [GetTranslation](get-translation.md) - 获取平移分量
|
|
- [GetRotation](get-rotation.md) - 获取旋转分量
|
|
- [Decompose](decompose.md) - 分解矩阵 |