概述
本教程提供了如何在 Transformation3 中,设置多次相同类型的变换,并且每个变换都能生效的方法。
方法
首先,我们先讲一个错误案例。在下面代码中,只有第三次 SetRotation 起作用,前两个都是无效的。
static AMCAX_API const Axis3 & OZ() noexcept
获取三维中的 z 轴,包括原点和 z 轴方向
static AMCAX_API const Axis3 & OX() noexcept
获取三维中的 x 轴,包括原点和 x 轴方向
static AMCAX_API const Axis3 & OY() noexcept
获取三维中的 y 轴,包括原点和 y 轴方向
virtual AMCAX_API const TopoShape & Shape()
获取结果形状
形状的基类,包含具有位置和方向信息的基础形状
定义 TopoShape.hpp:15
constexpr double pi
数学常数 Pi,圆的周长与直径之比
定义 Constants.hpp:42
TransformationT< double, 3 > Transformation3
三维变换
定义 TransformationT.hpp:1102
PointT< double, 3 > Point3
三维点
定义 PointT.hpp:459
那么如果希望三次 SetRotation 都可以起作用,可以通过以下几种方式。
执行一次 TransformShape:右乘
finalTrsf = trsf3 * trsf2 * trsf1;
执行一次 TransformShape:左乘
执行多次 TransformShape