在 open3d 中沿单个轴缩放

Scaling along a single axis in open3d

是否有在网格创建后仅(左)沿 y-axis 缩放网格的功能?

我尝试了 open3d.geometry.Geometry3D.scale 函数,但它沿 3-axis 缩放(右)。

import open3d as o3d
cylinder = o3d.geometry.create_mesh_cylinder(radius=1, height=3)
cylinder_scaled.scale(2) # I got the cylinder on the left.

提前致谢!

首先将网格顶点转换为 numpy 数组。缩放后转换回来。

cylinder.vertices = o3d.utility.Vector3dVector(
    np.asarray(cylinder.vertices) * np.array([1., 1., 2.]) )