此示例显示如何使用符号数学工具箱™和矩阵在3D中进行旋转和转换。
定义参数表面x(u,v)
那y(u,v)
那z(u,v)
如下。
Syms.你V.x = cos(u)* sin(v);y = sin(u)* sin(v);z = cos(v)* sin(v);
使用表面绘制FSURF.
。
Fsurf(x,y,z)轴平等的
创建3×3矩阵RX.
那ry.
, 和RZ.
以角度表示平面旋转T.
有关X
- ,y
-, 和Z.
分别。
Syms.T.rx = [1 0 0;0 cos(t)-sin(t);0 sin(t)cos(t)]
rx =
ry = [cos(t)0 sin(t);0 1 0;-sin(t)0 cos(t)]
ry =
Rz = [cos(t)-sin(t)0;sin(t)cos(t)0;0 0 1]
Rz =
首先,旋转表面围绕X
-AXIS逆时针45度。
xyzrx = rx * [x; y; z];RX45 =潜艇(XYZRX,T,PI / 4);FSURF(RX45(1),RX45(2),RX45(3))标题('旋转\ PI / 4关于X,逆时针')轴平等的
旋转Z.
-axis顺时针90度。
XYZRZ = RZ * RX45;RX45RZ90 =潜艇(XYZRZ,T,-PI / 2);FSURF(RX45RZ90(1),RX45RZ90(2),RX45RZ90(3))标题('通过\ pi / 2旋转约z,顺时针')轴平等的
旋转y
-axis顺时针45度。
XYZRY = RY * RX45RZ90;rx45rz90ry45 = summ(xyzry,t,-pi / 4);FSURF(RX45RZ90RY45(1),RX45RZ90ry45(2),RX45RZ90ry45(3))标题('旋转\ pi / 4关于y,顺时针')轴平等的
沿着因子3缩放表面Z.
-轴。您可以将表达式乘以Z.
到3,z = 3 * z
。更通用的方法是创建一个缩放矩阵,然后通过坐标的向量乘以缩放矩阵。
s = [1 0 0;0 1 0;0 0 3];xyzscaled = s * [x;y;Z]
XYZSCALED =
FSURF(XYZSCALED(1),XYZSCALED(2),XYZSCALED(3))标题('沿z'缩放3')轴平等的
旋转缩放的表面X
- ,y
-, 和Z.
- 顺时针,顺时针45度Z.
, 然后y
, 然后X
。用于该变换的旋转矩阵如下。
r = rx * ry * rz
r =
使用旋转矩阵找到新坐标。
XYZSCALEDORated = R * XYZSCALED;XYZSR45 =潜艇(XYZSCALEDORated,T,-PI / 4);
绘制表面。
FSURF(XYZSR45(1),XYZSR45(2),XYZSR45(3))标题('旋转\ pi / 4约x,y和z,顺时针')轴平等的
R.
旋转矩阵是正交矩阵。因此,转置R.
也是它的逆,和决定因素R.
是1。
简化(r。'* r)
ans =.
简化(det(r))
ans =.