OpenMesh学习记录 1

一、配置

如果要自己编译什么的就按官网一步步来。

如果想直接用编译好的,就下载对应的版本。比如我下载了openmesh4.0的vs2010,64位版,是个exe文件,安装一下。

然后新建一个project,在include和lib目录里把openmesh的目录加上。在c++的附加依赖项里加上2个lib,debug的加debug版本,release的加release版本。在preprocessor里加上_USE_MATH_DEFINES

注意64位的project的属性也得是x64,不能是win32.


配置完了把官网的第一个教程贴上去,运行一下。成功的话会有一个output.off文件,里面就是一个立方体。


二、走教程

配置好了,下一步就是跟着官方的教程走一遍。


第一个教程是建一个立方体。过程挺简单,首先把8个顶点加进mesh里,同时抽出到VertexHandle里,然后通过handle把通过顶点定义的6个面依次加到mesh里。最后写入off格式的文件。这个教程是让我们了解了openmesh对顶点、面、网格的基本操作,灰常简单。


第二个例子是教你怎么遍历一个网格的所有顶点(iterators )和遍历某个顶点周围的邻居顶点(circulators)。然后举得例子是对每个顶点,都算出其邻居顶点的中心,然后用这个中心替换掉原来的顶点,这样就相当于做了一个均值平滑。这里主要是看看对MyMesh::VertexIter和MyMesh::VertexVertexIter的使用。


第3个教程是说明了openmesh支持给mesh加property。什么是property呢?这里的property支持用户自定义,也可以采用传统的网格的参数。比如顶点,其实就是一种property。这个设定可以很好地让用户实现自己对网格的扩展。


第4个教程是说怎么结合stl写代码。有时候这样写可以提升写代码的效率。这一节跳过。


第5个教程可以看做是对教程3的补充,列举了standard properties。包括颜色、法向量、位置等。这个例子首先假设read了一个有面法向量信息,而没有顶点法向量信息的mesh。然后通过update_normals()来计算顶点法向量信息。最后将顶点按其法向量平移一个单位。这里主要是看对标准property的request和update操作。


第6个教程是讲traits的。其实没怎么看懂。看实例是用traits来规定mesh里面的一些格式、数据类型之类的。


第7个教程接着讲traits。好像上一讲是讲类型,这一讲是讲traits定义函数和成员变量的样子。。。


第8个教程讲的是删除mesh的元素。主要是要删除face,然后可以选择在删face的时候自动删相关的vertex,也可以自己手动删。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值