Delaunay Triangle 学习 2
Delaunay Triangle 学习 2
参考
Delaunay Triangulation and Meshing Application to Finite Elements [book]
https://www.bilibili.com/video/BV1vi4y1x796?from=search&seid=8484114193065196500
https://en.wikipedia.org/wiki/Delaunay_triangulation 维基百科
http://paulbourke.net/papers/triangulate/ 所有带已经实现的代码
四面体的体积
x_{2}-x_{1} & x_{3}-x_{1} & x_{4}-x_{1} \\
y_{2}-y_{1} & y_{3}-y_{1} & y_{4}-y_{1} \\
z_{2}-z_{1} & z_{3}-z_{1} & z_{4}-z_{1}
\end{array}\right|
\]
面的点序
- face 1: P4 P3 P2,
- face 2: P1 P3 P4,
- face 3: P4 P2 P1,
- face 4: P1 P2 P3
边序列
- edge 1:P1 P2,
- edge 2:P1 P3,
- edge 3:P1 P4,
- edge 4:P2 P3,
- edge 5:P2 P4,
- edge 6:P3 P4,
求解四面体的球心的线性方程组
l_{1}^{2}-l^{2} & l_{2}^{2}-l_{1}^{2} & l_{3}^{2}-l_{1}^{2} & l_{4}^{2}-l_{1}^{2} \\
x_{1}-x & x_{2}-x_{1} & x_{3}-x_{1} & x_{4}-x_{1} \\
y_{1}-y & y_{2}-y_{1} & y_{3}-y_{1} & y_{4}-y_{1} \\
z_{1}-z & z_{2}-z_{1} & z_{3}-z_{1} & z_{4}-z_{1}
\end{array}\right|
\]
其中\(l^{2}=x^{2}+y^{2}+z^{2}\) 球心的坐标,即要求解的值。
直接求解四面体的外接圆的半径
\(r_{k}=\frac{\sqrt{(a+b+c)(a+b-c)(b+c-a)(a-b+c)}}{24 V_{k}}\)
其中a,b和c是四面体对应的边的乘积。
内切球的半径
\]
其中\(S_i\) 是四面体的面的面积。
四面体的质量
\]
其中\(S_K\)表示四面体面的总面积\(\alpha=\frac{\sqrt{6}}{12}\)和从0-1描述质量的等式
\]
其中\(h_{s}=\sqrt{\sum_{i=1}^{6} L_{i}^{2}}\)和\(L_i\)表示四面体边的长度\(\beta=\frac{\sqrt{3}}{216}\)
重要提示
三维Delaunay元素允许条的存在。
三角化
欧拉公式
\(ns - na + ne + c = 2\) 其中ns是顶点数量,na是边的数量,ne是元素的数量,c是连接的组件边界三角化的数量(2d)
\(ns - na + nf - ne = cste\) 其中nf三角化面片的数量,cste是一个常量链接拓扑的区域

共形和非共形的三角形,如上图。
cste = 1,对于一个球
cste = 0,对于一个环
cste = 2,对于一个球有一个特殊的孔洞
因此在二维中,如果这有一个孔洞在三角化中,如果连接的组件的边界只有一个。\(ns - na + ne = 1\)
连接关系\(na_f - 2 \times na_i + 3 \times ne = 0\) (ne) 是元素的数量,(\(na_i\))是内部边的数量,(\(na_f\))是外部边界的数量。
在三维中,一个三角化是一个封闭的面满足关系\(ns - na + nf = 2\) (ns) 边界点在三角化过程中,na是边界边,nf是边界面。
空圆特性

即一个三角形的外接圆不包含相邻三角形的顶点。满足空圆特性的三角形的最小角一定大于不满足空圆特性的最小角
Delaunay剖分具有的优异特性:
- 最接近:以最近的散点形成三角形,且各线段(三角形的边)皆不相交。
- 唯一性:不论从区域何处开始扣减,最终豆浆得到一致的结果。
- 最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么最小角不会增大
- 最规则:如果将三角网中的每个三角形的最小角进行升序排列,则Delaunay三角网...
- 区域性:新增、删除、移动某一个顶点时只会影响临近的三角形。
- 具有凸多边形的外壳:三角网最外层的边界形成一个凸多边形的外壳。
网格的质量
\(Q_{\mathcal{M}}=\max _{K \in \mathcal{T}_{h}} Q_{K}\) 其中\(Q_{\mathcal{M}}\) 是网格中最差的元素。
3D的网格质量可以从2D中推导出来
\(Q_{3 D} \approx \frac{\sqrt{2}}{2} Q_{2 D}+1-\frac{\sqrt{2}}{2}\)
Delaunay Triangle 学习 2的更多相关文章
- Triangle 1.6 (A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator)
Triangle 一个二维高质量网格(mesh)生成器和Delaunay三角化工具. PSLG(Planar Straight Line Graph)约束Delaunay三角网(CDT)与Delaun ...
- 通过CGAL将一个多边形剖分成Delaunay三角网
目录 1. 概述 2. 实现 3. 结果 4. 参考 1. 概述 对于平面上的点集,通过Delaunay三角剖分算法能够构建一个具有空圆特性和最大化最小角特性的三角网.空圆特性其实就是对于两个共边的三 ...
- Triangle - Delaunay Triangulator
Triangle - Delaunay Triangulator eryar@163.com Abstract. Triangle is a 2D quality mesh generator an ...
- Visualize Surface by Delaunay Triangulator
Visualize Surface by Delaunay Triangulator eryar@163.com Abstract. Delaunay Triangulation is the cor ...
- OpenCV——Delaunay三角 [转载]
从这个博客转载 http://blog.csdn.net/raby_gyl/article/details/17409717 请其它同学转载时注明原始文章的出处! Delaunay三角剖分是1934年 ...
- 现代3D图形编程学习-基础简介(2) (译)
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...
- Css--深入学习之三角形气泡窗
本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 一.三角形的实现 首先,先画了三角形,后面二.三都是根据这个 ...
- Java学习笔记11
package welcome; import java.util.Scanner; /* * 代数问题:求解2x2线性方程 */ public class ComputeLinearEquation ...
- jQuery.validationEngine.js学习
项目中使用到了这个插件,抽了个空,看了一下. (function($){ var method ={} $.fn.validationEngine = function(){} $.validatio ...
- WPF学习之绘图和动画
如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是 ...
随机推荐
- 微信公众号-自定义微信分享(vue)(JS-SDK)
1.需求描述 日常公众号开发中,业务部门对于微信内置分享(右上角->分享到朋友等)效果不太满意,需要我们自定义相关分享效果 1.1微信默认分享效果展示 1.2通过自定义分享后效果展示 1.3微信 ...
- PHP采集图片实例(PHP采集)
以下为引用的内容: <?php/** * 采集图片php程序** Copyright(c) 2008 by 小超(ccxxcc) All rights reserved** To cont ...
- Less中实现响应式设计的4种高效方案(手机、平板、电脑端)
下是4种纯Less实现的响应式方案,均封装成可复用方法. 方案1:基础设备混合封装 // 定义设备断点变量 @mobile-max: 767px; @tablet-min: 768px; @table ...
- 二、C语言基础知识
声明 本文内容大多取自<高级语言程序设计一书>,为本人学习笔记记录,切勿用于商业用途. 第一节 C 语言发展和特点 C 语言是当今最流行的计算机语言之一,是一种结构化的高级语言. 一.C ...
- 解析异步消息加上(→_→)@SuppressLint("HandlerLeak")
在主线程又Handler处理消息出现时这样写会有警告 private Handler handler = new Handler(){ @Override public void handleMess ...
- vue3 基础-组件间传值及校验
本篇讲基于对页面组件化拆分后, 组件之间如何进行数据传递, 通常是父组件如何给子组件进行传值, 子组件接收并进行数据校验后再使用. 父子组件传值 <!DOCTYPE html> <h ...
- Windows平台调试器原理与编写05.内存断点
https://www.bpsend.net/thread-274-1-3.html 内存断点 访问断点 写入断点 内存写入断点 简介:当被调试进程访问,读或写指定内存的时候,程序能够断下来. 思考1 ...
- L1-1、Prompt 是什么?为什么它能“控制 AI”?
*--Prompt 入门 L1-1 想象一下,你只需输入一句话,AI 就能自动为你写一篇文案.生成一份报告.甚至规划你的创业计划.这种"对话即编程"的背后魔法,就是 Prompt ...
- 洛谷 P6626 [省选联考 2020 B 卷] 消息传递
洛谷 P6626 [省选联考 2020 B 卷] 消息传递 Problem 原题传送门 给一棵有\(n\)个节点的树.有\(m\)个询问,每次给出一对\(x,k\)表示查询到点\(x\)的距离为\(k ...
- 「Note」DP 方向 - DP 优化
1. 单调队列优化 DP 1.1. 简介 当一个选手比你小还比你强,你就打不过他了.这是对单调队列简单形象的概括. 单调队列在转移的过程中不断排除不可能成为决策点的元素,使每次转移寻找决策点的时间复杂 ...