translate
是Open3D的open3d.geometry.TriangleMesh类中的一个函数,用于将TriangleMesh对象沿着指定的方向移动一定的距离。
mesh.translate(translation, relative=False)
translation
(numpy.ndarray或list或tuple):要传递的位移量。relative
(bool):一个可选的布尔标志,它指定了位移量是相对于当前的位置还是相对于原点。默认为False
,即相对于原点。import open3d as o3d
import numpy as np
mesh = o3d.geometry.TriangleMesh.create_sphere(radius=1)
mesh.compute_vertex_normals()
o3d.visualization.draw_geometries([mesh])
translation = np.asarray([0.5, 0.5, 0.5]) # 沿所有轴移动0.5单位
mesh.translate(translation) # 相对于原点进行位移
o3d.visualization.draw_geometries([mesh])
此示例为创建一个球体,计算顶点法线,显示原始球体,然后移动球体,将其相对于原点沿所有轴移动0.5单位,最后显示移动后的球体。
translate
不会修改对象的原始位移量。如果您希望将对象转换为新位置并保留此变换,请使用transform
函数。translation
必须是形如 (3,)
或 (1, 3)
的numpy array, list或tuple,其中每个元素表示各轴的偏移量。在这两种情况下,它将解释为沿每个轴移动的值。如果它是形如 (n, 3)
的numpy array,则将每行视为一个要应用的位移向量。