三维空间中的旋转方向(blender坐标系、python中两种旋转方式、VTK坐标系)

在三维空间中,旋转的方向

通常遵循右手定则(右手螺旋法则):

右手握住旋转轴,拇指指向轴的正方向。

其余手指弯曲的方向就是正旋转方向(被视为逆时针旋转)。

当旋转角度为正值(如90度)时,旋转方向是逆时针的。

当旋转角度为负值(如-90度)时,旋转方向是顺时针的。

VTK中的坐标系(与blender软件中的坐标系不一致)

VTK中的坐标系使用的是一个右手坐标系,在这个坐标系中,X轴指向右,Y轴指向上,而Z轴指向观察者的前方(出屏幕方向)。

两种旋转方式

方法一

复制代码
from scipy.spatial.transform import Rotation as R

方法二

复制代码
transform = trimesh.transformations.rotation_matrix

对于复杂的旋转序列或频繁的格式转换,SciPy 的 Rotation 类可能更高效;

对于简单的旋转操作,Trimesh 的方法可能更轻量级。

方式一SciPy Rotation 类的坐标系与blender中坐标系的对应关系一一对应:

blender:

SciPy Rotation 类的坐标系:

方式二Trimesh的坐标系与blender中坐标系的对应关系如下:

blender:

Trimesh 的方法坐标系:

相关推荐
m0_56135967几秒前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
黎雁·泠崖1 分钟前
Java方法重写Override:规则+底层本质+与重载区别
java·开发语言
王同学 学出来4 分钟前
React实操案例(四)
开发语言·react.js·前端框架
zhengfei6116 分钟前
一种综合性的现代架构模型,用于集成平台解决方案和工具,以支持专业的红队。
开发语言·人工智能·网络安全·架构·信息与通信
zuoyou-HPU6 分钟前
QT C++开发知识点剖析
开发语言·c++·qt
草莓熊Lotso8 分钟前
Qt 按钮与显示类控件实战:从交互到展示全攻略
大数据·开发语言·c++·人工智能·qt·microsoft·交互
莫问前路漫漫13 分钟前
Java static 与 final 详解(简单易懂)
java·开发语言
爱学习的阿磊15 分钟前
模板编译期排序算法
开发语言·c++·算法
冰暮流星16 分钟前
javascript之for-of循环
开发语言·javascript·ecmascript
不绝19117 分钟前
Input/屏幕/Camera/光源/碰撞检测/音频相关
开发语言·javascript·ecmascript