数字几何处理(2020-05-15)

Voronoi Diagram

遗留问题

上篇遗留问题: Optimal Delaunay Triangulation(ODT)

需要ODT的原因

  • Delaunay Triangulation可以使最小角最大化,但不能保证最小角不会非常小,如果Delaunay Triangulation的最小角很小,那么其他的最小角就更小了。
  • Optimal Delaunay Triangulation(ODT)可以认为是一个算法,给一个domain和点集,分布点的位置和连接关系,得到一个三角化,初始得到的三角化可能和差,所以需要优化,直到在某种意义上,这个三角化是最优的。
  • 改善优化方式:做Delaunay Triangulation,不会改变点的位置,可能角度还是很差,所以希望可以移动顶点的位置,来改善三角化的质量。
  • Delaunay Triangulation可以做 flip,每做一次flip,都会减少一个四面体的体积。
  • 最终可以转化为优化/最小化下面这个函数。

目标/能量函数

  • u ( x ) u(x) u(x)是3D上的抛物面 z = x 2 + y 2 z=x^2+y^2 z=x2+y2
  • u ^ ( x ) \hat{u}(x) u^(x) 是2D上的网格lift到3D上的三角化。
    所以 u ^ ( x ) \hat{u}(x) u^(x)总是在 u ( x ) u(x) u(x)的上方的,所以可以去掉下图中第一项的绝对值。
  • 第二项前面的积分其实是分片线性三角形与底面构成的图形的体积,如下下图红色箭头所示。
    所以minmize这个函数其实是在是这个积分值减小,也就是使这部分体积减小。

高斯赛德尔迭代

  • 使用高斯赛德尔迭代优化:每次优化部分变量。将当前点 p i p_i pi 作为优化变量,每次只优化一个点的位置,做法是求第3项的梯度,使梯度为0。
  • ??? 4到5不理解/(ㄒoㄒ)/~~
    数字几何处理(2020-05-15)_第1张图片
    下图为 u ^ ( x ) \hat{u}(x) u^(x)相关的体积示意图。
    数字几何处理(2020-05-15)_第2张图片
    推导也看不懂,栓Q/(ㄒoㄒ)/~~

数字几何处理(2020-05-15)_第3张图片
数字几何处理(2020-05-15)_第4张图片

点的更新的位置的公式:
在这里插入图片描述

Tj是点p3相关的三角形,cj是该三角形外接圆的圆心。
数字几何处理(2020-05-15)_第5张图片

算法步骤

  1. 更新顶点位置。
  2. 顶点位置固定后,flip更新顶点的连接关系。
  3. 高斯赛德尔迭代更新所有顶点位置。
  4. 再做flip转化为delaunay triangulation。
  5. 交替迭代直到收敛。

Voronoi Diagram介绍

引入

  • 邮局问题
    给出黄色的点,找出离黄色的点最近的黑色的点。
  • 基础想法
    将黑色的点所在的区域,针对n个黑点,划分为n个子区域,在每个区域中的点都到该区域的那个黑点的距离最近。
    在这个条件下,只需要看黄色的点落在哪个子区域中即可找到距离最近的黑点。
    数字几何处理(2020-05-15)_第6张图片
  • 利用垂直平分线划分两个黑点的区域。
    数字几何处理(2020-05-15)_第7张图片

Voronoi cell

  • p i p_i pi 的 Voronoi cell VP(i)
    在这里插入图片描述

  • p i p_i pi的Voronoi cell是 p i p_i pi和所有其他点的半平面的交,半平面指两点的连线的垂直平分线划分的两个平面。

  • Voronoi cell是非空的,并且是凸的。
    数字几何处理(2020-05-15)_第8张图片

性质

  • Lemma1
    • 对于VV( P)中的点,至少是三条边的交点,且至少有3个相邻region。
    • 对于VV( P)中的点v,是任意三个中心点连接形成的三角形的外接圆C(v)的圆心。
    • 外接圆的内部C(v)与点集P的交集为空集。

与Delaunay triangulation 的对偶性

对于voronoi diagram的点集中的点,如果两点之间有边,则将两点连接产生一条连线,完成后生成一个三角化,该三角化是一个Delaunay triangulation。
数字几何处理(2020-05-15)_第9张图片

CVT

Centroidal Voronoi Tessellation

问题

构造的Delaunay triangulation的最小角可能很小,三角化不均匀。
希望得到一个比较均匀的划分。
数字几何处理(2020-05-15)_第10张图片

定义

  • 定义:给定一个点集,算出其voronoi diagram,得到voronoi cell,算出每个cell的质心,若该点集的每个点都与其cell的质心重合,则此voronoi diagram就是一个CVT,CVT的cell会更均匀。

  • 问题:如何求多边形的质心?如果每个点带密度怎么办呢?
    数字几何处理(2020-05-15)_第11张图片

目标函数(Energy Function)

  • p i p_i pi:顶点的位置
  • V i V_i Vi:voronoi 划分,可以由顶点计算出来。
    数字几何处理(2020-05-15)_第12张图片

Lloyd iteration

目标函数的优化:
1. 给定 p i p_i pi,构造voronoi划分
2. 计算每个voronoi cell的质心,将顶点 p i p_i pi移动到质心(此时目标函数最小化了)。
3. 每次加入一个点,重复前两个步骤直到收敛(顶点与质心几乎重合)。

Variational shape approximation(VSA)(待完善)

将三维模型分成一片一片的,每一片几乎是一个平面。
数字几何处理(2020-05-15)_第13张图片给定每个region R i R_i Ri,计算出 n i n_i ni
数字几何处理(2020-05-15)_第14张图片

你可能感兴趣的:(图形学,笔记,学习)