关于Delaunay triangulation那些事
来源:互联网 发布:hp1005扫描软件下载 编辑:程序博客网 时间:2024/05/20 16:12
之前在看一些跨年龄人脸识别论文的时候就遇到了这个家伙,当时查了查资料,知道了它是Delaunay三角剖分,是计算几何的一个经典问题,好多大牛用这个算法来对人脸进行对齐,标准脸的学习以及各种高大上。当时看了论文中的一些参考资料,居然有一篇资料是一本书。本着热爱学习的精神,我居然把它download下来了,厚厚的一本书。。。然后就没有然后了。。。
这几天又遇到了这个家伙,所以本着钻牛角的精神决定把它吃掉!!!
-------------此处是分割线----------------
1. 首先什么是triangulation呢?
说一些我不懂的,三角剖分是代数拓扑学最基本的研究方法。
再说一些我能明白的,那就是例子!
以曲面为例,我们把曲面剖开成一块块的碎片,曲面这个东西,人脸不就是典型的曲面吗?所以可以理解为什么它会被应用到人脸上。。。,那么我们不能随便对它进行剖分吧。需要满足一些条件:
(1)每一块碎片都是曲边三角形(曲边三角形就是以等边三角形的三个顶点为圆心,边长为半径画出的图形,曲面的宽度是等长的)
(2)曲面上任何两个这样的曲边三角形,不能同时相交两条或两条以上的边,只能不相交或者是相切于一条公共边
(3)曲面中所有的都是三角面,且所有三角面的合集是所有点集合的凸包
拓扑学的一个已知事实告诉我们:任何曲面都存在三角剖分
那我们假设曲面上有一个三角剖分,把所有三角形的定点个数记为p,边数记为l,三角形的个数记为n,则e = p-l+n是曲面的拓扑不变量。也就是说不管是什么剖分,e总是得到相同的数值,e被称为欧拉示性数
2. 其次什么是Delanunay triangulation呢?
假设边的集合E中的一条边e(两个端点为a,b),e如果满足下列条件,则称之为Delaunay边:
存在一个圆经过a,b两点,圆内不包含点集中的任何点,这一特性称为空圆特性
那么到底什么是Delanunay三角剖分呢?
如果一个曲面的点集的一个三角剖分只包含Delaunay边,那么这样的三角剖分就称为Delaunay三角剖分
我们来看个图,直观的感受一下什么是Delaunay三角剖分
这是三个点的三角剖分
那我们再来看看四个点的三角剖分?
如果我们以ab两点连线来分割,这样的话,就满足Delaunay三角剖分;那如果是以cd边?那就不是我们要的Delaunay三角剖分了
关于Delaunay三角剖分的另一个更为直观的定义便是:
三角剖分中的每个三角形的外接圆的内部都不包含点集中的任何点
当我们知道了Delaunay三角剖分到底是个什么鬼之后呢,那么重要的是如何来构建 一个曲面的Delaunay三角剖分???
Delaunay三角剖分的算法有这几种----翻边算法、逐点插入算法、分割合并算法以及Bowyer-Watson算法等
之前一看到有这么多计算方法 头大 当时觉得自己脑容量没那么多 就忽略掉它了 嗯
但是我们还是选择一个学习一下吧 毕竟学海无涯嘛
其实当我看到这个三角剖分时 由于天资不够 只能想到类似于逐点插入的想法了
在triangulation中写出了该方法的伪代码:
未完待续。。。
- 关于Delaunay triangulation那些事
- Delaunay triangulation
- Delaunay Triangulation
- Delaunay Triangulation算法学习
- Delaunay Triangulation算法学习
- Dlib中Delaunay Triangulation
- Delaunay三角剖分(Delaunay Triangulation)
- Delaunay三角剖分(Delaunay Triangulation)概述
- Delaunay Triangulation, Divide And Conquer Method
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- Delaunay三角剖分(Delaunay Triangulation)相关知识(转)
- Delaunay三角剖分(Delaunay Triangulation)相关知识
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- Delaunay三角剖分(Delaunay Triangulation)相关知识
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- Delaunay三角剖分(Delaunay Triangulation)相关知识
- 网际层(Internet)
- spring cloud 之 zuul
- 只在堆上或是栈上分配对象的方法:
- Mysql基本语句
- eclipse中显示行号
- 关于Delaunay triangulation那些事
- Web基础之Servlet+JDBC+JSP项目实战终结篇
- Redis-主从复制,读写分离,主从切换
- 学习随笔—`malloc.h`内存申请头文件
- MT6735 alsps驱动P/L sensor问题
- 计算机网络基础知识
- 学习JAVA线程池
- SaltStack实战之manage、salt-ssh和salt jobs
- 数组排序:内部类