matlab - 相对于不同坐标系的轴缩放和旋转 3D 点

标签 matlab math 3d geometry coordinate-systems

我在坐标系 B 中有一组 3D 点,我想将其旋转和缩放一定的角度 theta 和一定的缩放因子 scale关于坐标系B的每个轴,然后将它们转换到不同的坐标系A。我知道 4x4 转换,它将坐标系 B 中的点转换为坐标系 A

例如,

我有一个变换矩阵

Tr =   [0.0065,0.9999,-0.0106,-5.0682
       -0.0105,-0.0105,-0.9999,1.7843
       -0.9999,0.0066,0.0105,8.6412
        0.0000,0.0000,0.0000,1.0000]

目前,我使用 Tr 将 3D 点从坐标系 B 转换为 A。 但是,我想修改 Tr (通过乘以附加矩阵),以便在转换为 A 后,点按 theta 旋转和缩放,围绕坐标系“B”的每个轴进行缩放

知道这是否可能吗?

最佳答案

T_scale = [scale_x 0       0        0
           0       scale_y 0        0
           0       0       scale_z  0
           0       0       0        1]

T_i(theta) = [R_i(theta) [0; 0; 0]
              [0 0 0]    1        ]


T = Tr * T_scale * T_z(theta_z) * T_y(theta_y) * T_x(theta_x)

使用 wikipedia 定义的 R_i(theta)

关于matlab - 相对于不同坐标系的轴缩放和旋转 3D 点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42656924/

相关文章:

matlab - 图像直方图比较

arrays - 在 2D MATLAB 数组中的两点之间获取 1D 切片

matlab - 去除有机分子图中不需要的字符

c++ - MinGW 的大型算术失败

math - 将线性音频分布转换为对数/感知分布?

c - 在 MATLAB 中使用 MEX 文件访问存储在元胞数组中的矩阵

php - php中数组的数学运算

c++ - OpenGL 阴影贴图 - 阴影贴图纹理根本没有被采样?

javascript - 什么库在 Javascript 中模拟 OpenGL

java - 如何识别形状之间的碰撞