网站后台怎么修改文字,建网站怎么起名字,建筑机械人才培训网查询官网,wordpress 整站源码目录
讲解资料#xff1a;
安装#xff1a;
入门例子#xff1a;
读取off文件示例#xff1a;
操作bunny.ply#xff1a;
格式转换vertex
vertex_to_mesh
mesh_to_vertex 它具有以下特征#xff1a;既可以表示任意多边形网格#xff0c;也可以表示纯三角形网格
安装
入门例子
读取off文件示例
操作bunny.ply
格式转换vertex
vertex_to_mesh
mesh_to_vertex 它具有以下特征既可以表示任意多边形网格也可以表示纯三角形网格点半边边和面的清晰表达快速的局部区域访问尤其是环状区域较高的用户化性能例如用户可以选择用户坐标类型和网格项目的存储结构给网格添加用户自定义的元素或者函数在运行过程用动态特性添加数据等
OpenMesh本身并不包含用于渲染图形的功能。显示三维模型通常需要使用OpenGL或其他图形库来实现图形渲染。
讲解资料
关于OpenMesh与OpenGL-CSDN博客 安装
pip install openmesh
2024.03.10 pypi查看最高版本支持3.9不支持3.10
3.10安装失败报错 note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for openmesh Running setup.py clean for openmesh Failed to build openmesh ERROR: Could not build wheels for openmesh, which is required to install pyproject.toml-based projects
入门例子
读取off文件示例
import openmesh as om# 读取模型
mesh om.read_trimesh(rD:\Desktop\bunny.off)
# 保存模型
om.write_mesh( rD:\Desktop\bunny1.off, mesh)print(顶点总数, mesh.n_vertices())
print(面总数 , mesh.n_faces())
print(边总数 , mesh.n_edges())# 遍历所有的顶点获取每个vertex的坐标
for vertex in mesh.vertices():print(顶点的数据类型, type(vertex), 顶点坐标, mesh.point(vertex), 顶点坐标的数据类型, type(mesh.point(vertex)))break
# 遍历所有的边和面
for edge in mesh.edges():print(type(edge))break
for face in mesh.faces():print(type(face))break操作bunny.ply import openmesh as ommesh om.read_polymesh(rF:\project\3d\Open3D-master\examples\test_data\Bunny.ply)
print(mesh.has_vertex_normals()) # 查找是否有法线
mesh.update_vertex_normals() # 计算法线
print(mesh.has_vertex_normals())
print(变换前, mesh.points()[0])
for v_it in range(mesh.n_vertices()):# 更新点坐标mesh.set_point(mesh.vertex_handle(v_it), mesh.points()[v_it] mesh.vertex_normals()[v_it])
print(法线, mesh.vertex_normals()[0])
print(变换后, mesh.points()[0])
mesh.release_vertex_normals() # 删除法线 格式转换vertex
vertex_to_mesh
import openmesh as om
import numpy as npmesh om.read_trimesh(mean_face.obj)
vertex np.load(1.npy)
for i in range(6144):mesh.points()[i] vertex[:, i]
om.write_mesh(1.obj, mesh)
mesh_to_vertex
import openmesh as om
import numpy as npmesh om.read_trimesh(mean_face.obj)
vertex np.zeros((3,6144), dtypefloat)
for i in range(6144):vertex[:, i] mesh.points()[i]
np.save(mean_face.npy, vertex)