open3d之转换(Transformation)有关函数详情(笔记9)

Open3D 的geometry有许多变换方法。在本教程中,我们将展示如何使用平移、旋转、缩放和变换。

1. 平移

open3d.geometry.TriangleMesh

create_coordinate_frame(size=1.0, origin=array([0.0, 0.0, 0.0]))

函数功能:

用于创建坐标系网格的函数。坐标系将以原点为中心。x、y、z 轴将分别呈现为红色、绿色和蓝色箭头。

参数:

size (float, optional, default=1.0)坐标系的大小

origin (numpy.ndarray[numpy.float64[3, 1]], optional, default=array([0., 0., 0.]))坐标系的原点

返回:

open3d.geometry.TriangleMesh

 2. 旋转

Open3D 的geometry也可以使用 rotate 方法进行旋转。它将旋转矩阵 R 作为第一个参数。由于 3D 中的旋转可以通过多种方式进行参数化,Open3D 提供了方便的函数来从不同的参数化转换为旋转矩阵:

1.使用 get_rotation_matrix_from_xyz 从欧拉角转换(其中 xyz 也可以是 yzx、zxy、xzy、zyx 和 yxz 的形式)

2. 使用 get_rotation_matrix_from_axis_angle 从轴角表示转换

3. 使用 get_rotation_matrix_from_quaternion 从四元数转换

open3d.geometry

get_rotation_matrix_from_xyz(rotation: numpy.ndarray[numpy.float64[3, 1]]) 

→ numpy.ndarray[numpy.float64[3, 3]]

其中 xyz 也可以是 yzx、zxy、xzy、zyx 和 yxz 的形式

open3d.geometry

get_rotation_matrix_from_axis_angle(rotation: numpy.ndarray[numpy.float64[3,1]])

numpy.ndarray[numpy.float64[3, 3]]

open3d.geometry

get_rotation_matrix_from_quaternion(rotation: numpy.ndarray[numpy.float64[4,1]]) →

numpy.ndarray[numpy.float64[3, 3]]

3. 缩放

Open3D geometry的顶点和点也可以使用比例缩放,

open3d.geometry.TriangleMesh

scale(self, scale, center)

函数功能:

对几何坐标应用缩放

参数:

scale (float)与几何的点/顶点相乘的比例参数

center (numpy.ndarray[numpy.float64[3, 1]])用于转换的比例中心

返回:

open3d.geometry.Geometry3D

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值