meshlab: pymeshlab按XYZ轴移动物体模型并保存

本文介绍了如何使用Python库Pymeshlab加载obj_000001.ply模型,设置移动中心并进行三维空间中的移动,最后保存移动后的模型。
摘要由CSDN通过智能技术生成

 一、关于环境

请参考:pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客

二、关于代码

本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。 本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的obj_000001.ply。





# pymeshlab需要导入,其一般被命名为ml
import pymeshlab as ml

# numpy需要导入,其一般被命名为np
import numpy as np

# 本案例所使用的3D模型为压缩包中的obj_000001.ply,请将其与本脚本放置在同一文件夹内。
input_file = 'obj_000001.ply'

# 首先需要创建一个空的容器
mesh = ml.MeshSet()

# 然后,加载物体模型
mesh.load_new_mesh(input_file)

# 获取移动中心前的顶点中心
mesh_c = mesh.current_mesh()
vertex_matrix = mesh_c.vertex_matrix().copy()
print('移动中心前的顶点中心:', np.mean(vertex_matrix, axis = 0))

# 设置移动中心
customcenter = np.array([0, 0, 200], dtype=np.float64)

# 移动模型
mesh.transform_translate_center_set_origin(traslmethod = 'XYZ translation',
                                           axisx = customcenter[0],
                                           axisy = customcenter[1],
                                           axisz = customcenter[2],
                                           )

# 获取移动中心后的顶点中心
mesh_c = mesh.current_mesh()
vertex_matrix = mesh_c.vertex_matrix().copy()
print('移动中心后的顶点中心:', np.mean(vertex_matrix, axis = 0))

# 保存移动后的模型
mesh.save_current_mesh(input_file.replace('.ply', '_move.ply'))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值