图形学初学者,如何学习Polygon Mesh Processing这本书?修改修改

导师暑假让我看看这本书,目前看了一半觉得这本书比较偏重数学基础,对于具体的 implementation提及的并不多,再加上书上并没有相关练习或者例子,想实现书上所说的东西又觉得没有guideline,所以觉得有点摸不着 头脑,请问该如何学习这本书?想做一些练习哪里可以找到?

3 个回答

 
 
implementation方面,可以从OpenMesh里面给的一些例子入手,实现一些具体的算法,从最基础的simplification开始到较复杂的remesh, deformation, parameterization等。不过geometry的东西,本身就是比较偏重理论的。。。
发布于 2015-08-18 5 条评论 感谢

收藏 • 没有帮助 •

正巧看过真本书。五个作者都是大牛。
第二章关于mesh的数据结构,重点是半边结构,这方面开源代码很多。
第三章微分几何基础及其离散化表示,这是几何处理的根基。离散化永远是重头戏。实现方面可参考libigl(libigl/libigl · GitHub),这一章提到的几种离散微分算子这个库中都有实现。
第四章关于光顺。这一章写得很好。通过引用taubin在95年的经典文章告诉我们傅里叶分析是如何推广到mesh上的。实现方面,rob-p/mcflow · GitHub 是对desbrun 99年文章Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow的实现。可参考。几何流相关的工作不少。

五章参数化。这是几何处理的核心,是一个广阔的领域。这本书上介绍的比较基础了,我记得貌似没有涉及全局参数化。实现方面可参考libigl的
tutorial,里面有LSCM(least squared conformal
mapping)和ARAP(as-rigid-as-possible)这些比较简单也比较经典参数化的实现。
第六章重网格化。没细看。
quad-meshing到现在都是热点啊,有很多经典的文章,本质上是混合整数规划问题。有基于向量场和基于morse-smale复形两种主流的方
法。libigl里有08年文章Mixed Integer Quadragulation的实现。libQEx(hcebke/libQEx · GitHub)是用于鲁棒地在参数网格上抽出quad的库,文章发在13年的tog上。可参考。
第七八章木有看。
第九章几何形变。很有意思。可结合olga sorkine08年的survey(igl |
Interactive Geometry Lab
)一起看。方法五花八门。有
基于微分坐标的(gradient-based && laplacian-based),有基于vector
field的(06年的一篇siggraph,idea来自与流体),有基于各种坐标的(harmonic, bounded
biharmonic,local barycentric等等,我喜欢green
coordinates这篇文章,大牛出品,实现极其简单,数学推导严谨),基于非线性方法的(As-rigid-as-possible
surface modeling, PriMo)。几何形变蕴含很多几何处理中的重要idea和技术。想要练习的话,题主可以试着实现一下Mesh
editing with Poisson-based gradient field
manipulation,idea来自于03年经典的poisson image editing,数学不多,可以当做第三章读完后非常好的习题。
希望对你有帮助:)

编辑于 2015-08-20

4 条评论

感谢

收藏

没有帮助

 
 
可以参考开源软件Magic3D来帮助学习

[zz]如何学习Polygon Mesh Processing这本书?的更多相关文章

  1. 学习django就看这本书了!django book 2.0中文版

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/29/ 来源:python黑洞网 dj ...

  2. 【java学习系列】 Android第一本书《第一行代码》

    开始Java的学习,从Android,开始吧.<第一代码>开始阅读和调试demo例子. 下面是 <第一行代码>的思维导图:

  3. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

  4. zz深度学习中的注意力模型

    中间表示: C -> C1.C2.C3 i:target -> IT j: source -> JS sim(Query, Key) -> Value Key:h_j,类似某种 ...

  5. zz深度学习论文合集大全

        Pull requestsIssues Marketplace Explore             Learn Git and GitHub without any code! Using ...

  6. zz深度学习在美团配送 ETA 预估中的探索与实践

    深度学习在美团配送 ETA 预估中的探索与实践 比前一版本有改进:   基泽 周越 显杰 阅读数:32952019 年 4 月 20 日   1. 背景 ETA(Estimated Time of A ...

  7. zz深度学习目标检测2014至201901综述

    论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey  发表于 2019-02-14 |  更新 ...

  8. BLE MESH 学习[1] - ESP32 篇

    BLE MESH 学习 BLE MESH 是一种蓝牙(n:m)组网的技术. 本篇先介绍 BLE MESH 到使用 ESP32 的官方示例对其进行学习讲解. 后面会进一步学习 SIG 的 BLE MES ...

  9. 学习移动机器人SLAM、路径规划必看的几本书

    作者:小白学移动机器人链接:https://zhuanlan.zhihu.com/p/168027225来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 声明:推荐正版图 ...

随机推荐

  1. 广工十四届校赛 count 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点 ...

  2. 『Numpy』内存分析_numpy.dtype解析内存数据

    numpy.dtype用于自定义数据类型,实际是指导python程序存取内存数据时的解析方式. [注意],更改格式不能使用 array.dtype=int32 这样的硬性更改,会不改变内存直接该边解析 ...

  3. selenium选择器_css属性选择器

    搜索 <button class="btn-search tb-bg" type="submit" data-spm-click="gostr= ...

  4. Linux虚拟机的三种网络连接方式

    Linux虚拟机的三种网络连接方式 虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host- ...

  5. (译)xDS REST and gRPC protocol

    xDS REST and gRPC protocol 原文地址:xDS REST and gRPC protocol. envoy可通过文件系统.一个或多个管理服务器来发现各种动态资源.这些服务发现和 ...

  6. 手机端网页技术--使自己做的asp.net网页适应手机浏览

    使自己做的asp.net网页适应手机浏览 特别提醒: 对于文本框和其他控件,无法自适应,只有纯粹的文本和table的单元格可以自适应,其他的只有设置为具体的宽度,或者在一个表格中(本来在电脑中显示一行 ...

  7. day051 django第二天 django初识\代码

    模板渲染 JinJa2 from wsgiref.simple_sever import make_sever from jinjia2 import Template def index(): wi ...

  8. 海量数据处理之top K问题

    题目: CVTE笔试题https://www.1024do.com/?p=3949 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节. 假设目前有一千万 ...

  9. Linux3.10.0块IO子系统流程(7)-- 请求处理完成

    和提交请求相反,完成请求的过程是从低层驱动开始的.请求处理完成分为两个部分:上半部和下半部.开始时,请求处理完成总是处在中断上下文,在这里的主要任务是将已完成的请求放到某个队列中,然后引发软终端让中断 ...

  10. C++取反交换两个数的值

    int a = 1; int b = 2; cout << "a: "<< a << endl; cout << "b: ...