三维空间中的旋转方向(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 的方法坐标系:

相关推荐
じ☆冷颜〃2 小时前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
夜思红尘5 小时前
算法--双指针
python·算法·剪枝
人工智能训练5 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
散峰而望5 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
冷凝雨5 小时前
复数乘法(C & Simulink)
c语言·开发语言·信号处理·simulink·dsp
CoderCodingNo5 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
0和1的舞者5 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
MoonBit月兔5 小时前
年终 Meetup:走进腾讯|AI 原生编程与 Code Agent 实战交流会
大数据·开发语言·人工智能·腾讯云·moonbit
智航GIS6 小时前
8.2 面向对象
开发语言·python
小小星球之旅6 小时前
CompletableFuture学习
java·开发语言·学习