# Transform::operator* ```cpp Transform operator*(const Transform& other) const; ``` 组合两个变换。当 `A * B` 时,表示先应用 `B`,再应用 `A`。结果变换先对点进行 `B` 变换,再进行 `A` 变换。 组合计算: - `position = position + rotation * (scale * other.position)` - `rotation = rotation * other.rotation` - `scale = scale * other.scale` **参数:** - `other` - 要组合的另一个变换 **返回:** `Transform` - 组合后的变换 **线程安全:** ❌(无锁,非线程安全) **复杂度:** O(1) **示例:** ```cpp #include "XCEngine/Core/Math/Transform.h" #include "XCEngine/Core/Math/Vector3.h" using namespace XCEngine::Math; void OperatorMultiplyExample() { Transform parent; parent.position = Vector3(10.0f, 0.0f, 0.0f); parent.scale = Vector3(2.0f, 2.0f, 2.0f); Transform child; child.position = Vector3(5.0f, 0.0f, 0.0f); Transform combined = parent * child; Vector3 worldPos = combined.TransformPoint(child.position); } ``` ## 相关文档 - [Transform](transform.md) - 返回类总览