背景
有时候需要对图形(二维或三维)进行变换操作,这里的变换指的机器人操作中平移、旋转这两种刚性变换操作,还有其它的变换这里不作讨论。
Mathematica操作
首先,优先使用系统内置函数实现,与此相关的内置函数包括Translate/TranslationTransform、Rotate/RotationTransform这几个常用的。每个函数在不同的场景下有不同的优势。
看下面的例子
实例1.使用系统内置“动词”函数
(*使用系统内置“动词”函数*)
cube = Cylinder[{
{0, 0, 0}, {0, 0, 0.5}}, 0.2]; (*生成一个圆柱体*)
cube1 = Rotate[Translate[cube, {1, 1, 1}], 45 Degree, {1, 0, 0}];
(*使用系统自带动作变换函数进行变换,先平移,再旋转*)
实例2.使用系统内置“名词”函数
(*使用系统内置“名词”函数*)
cube = Cylinder[{
{0, 0, 0}, {0, 0, 0.5}}, 0.2]; (*生成一个圆柱体*)
cube2 = GeometricTransformation[GeometricTransformation[cube, TranslationTransform[{1, 1,1}]],
RotationTransform[60 Degree, {1, 0, 0}]];(*使用系统自带名词变换函数进行变换,先平移,再旋转*)
实例3.使用自定义函数
(*使用自定义函数