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

相关推荐
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°7 小时前
PHP框架漏洞
开发语言·php
猿界零零七7 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
炸膛坦客8 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生8 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客9 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲9 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
不只会拍照的程序猿9 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin9 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_8318249610 小时前
代码性能剖析工具
开发语言·c++·算法