这个例子说明如何使用符号数学工具箱™和矩阵做旋转和变换的3D。
定义参数曲面X(U,V)
,Y(U,V)
,Z(U,V)
如下。
SYMSüvX = COS(U)* SIN(v)的;Y = SIN(U)* SIN(v)的;Z = COS(V)* SIN(v)的;
通过绘制表面fsurf
。
fsurf(X,Y,Z)轴等于
创建3×3矩阵RX
,RY
和RZ
由角度表示平面内旋转Ť
有关X
- , -ÿ
- 和ž
- 轴,分别。
SYMSŤRX = [1 0 0;0 COS(T)-sin(T);0 SIN(t)的COS(T)]
RX =
中R y = [COS(T)0罪(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
通过45度逆时针轴摆动。
xyzRx =的Rx * [X; Y; Z];Rx45 =潜艇(xyzRx,T,PI / 4);fsurf(Rx45(1),Rx45(2),Rx45(3))标题('通过\ PI旋转/ 4左右的x,逆时针')轴等于
绕ž
通过顺时针旋转90度轴摆动。
xyzRz = RZ * Rx45;Rx45Rz90 =潜艇(xyzRz,T,-pi / 2);fsurf(Rx45Rz90(1),Rx45Rz90(2),Rx45Rz90(3))标题('通过\ PI旋转/ 2约Z,顺时针')轴等于
绕ÿ
通过顺时针旋转45度的轴摆动。
xyzRy = RY * Rx45Rz90;Rx45Rz90Ry45 =潜艇(xyzRy,T,-pi / 4);fsurf(Rx45Rz90Ry45(1),Rx45Rz90Ry45(2),Rx45Rz90Ry45(3))标题('绕y旋转\pi/4,顺时针')轴等于
通过沿所述因子3缩放表面ž
-轴。你可以乘的表达ž
3,Z = 3 * Z
。在更一般的方法是创建一个缩放矩阵,然后乘以坐标的向量调整矩阵。
S = [1 0 0;0 1 0;0 0 3];xyzScaled = S * [X;Ÿ;Z]
xyzScaled =
xyzScaled(1), xyzScaled(2), xyzScaled(3)“3沿z的缩放”)轴等于
绕所述缩放表面X
- , -ÿ
- 和ž
-轴顺时针45度,按顺序ž
, 然后ÿ
, 然后X
。这种转变的旋转矩阵如下。
R =的Rx * RY * RZ
R =
使用旋转矩阵找到新的坐标。
xyzScaledRotated = R * xyzScaled;xyzSR45 =潜艇(xyzScaledRotated,T,-pi / 4);
绘制表面。
fsurf(xyzSR45(1),xyzSR45(2),xyzSR45(3))标题('绕x、y和z顺时针旋转\pi/4 ')轴等于
[R
旋转矩阵为正交矩阵。因此,转置[R
也是它的倒数,行列式[R
1。
简化(R'* R)
ANS =
简化(DET(R))
ANS =