简介

三角化

参考链接

https://www.cnblogs.com/zhiyishou/p/4430017.html

三角化

求一个二维的三角形的面积也可以通过这个方法

首先要保证逆时针方向,三角形点的分布。

\[S_{K}=\frac{1}{2}\left|\begin{array}{cc}
x_{2}-x_{1} & x_{3}-x_{1} \\
y_{2}-y_{1} & y_{3}-y_{1}
\end{array}\right|
\]

举个例子

    BMesh::Point2D a(0,0);
BMesh::Point2D b(1,0);
BMesh::Point2D c(0,1);
Eigen::Matrix2d cc;
cc << (b.x - a.x), (c.x - a.x),
(b.y - a.y), (c.y - a.y);
std::cout << "[DEBUG] area of a triangle " << 0.5 * cc.determinant() << std::endl;

理论解释

向量的叉乘就是平行四边形的面积然后你懂得。

求解外接圆的坐标

求解一个方程

\[\left(\begin{array}{ll}
x_{3}-x_{1} & y_{3}-y_{1} \\
x_{3}-x_{2} & y_{3}-y_{2}
\end{array}\right)\left(\begin{array}{l}
x_{C} \\
y_{C}
\end{array}\right)=\frac{1}{2}\left(\begin{array}{l}
\left(x_{3}^{2}+y_{3}^{2}\right)-\left(x_{1}^{2}+y_{1}^{2}\right) \\
\left(x_{3}^{2}+y_{3}^{2}\right)-\left(x_{2}^{2}+y_{2}^{2}\right)
\end{array}\right)
\]

直接求解圆心使用公式

\[r_{K}=\frac{L_{1} L_{2} L_{3}}{4 S_{K}}
\]

\(L_i\) 是边界的长度。

\(S_K\) 是三角形的面积。

内切圆的半径是

\[\rho_{K}=\frac{S_{K}}{p_{K}}
\]

\(p_{K}\) 是三角形的半周长

\(\rho_{K}\) 是三角形内切圆的半径

三角形网格的质量

\[Q_{K}=\alpha \frac{h_{\max }}{\rho_{K}}=\alpha \frac{h_{\max } p_{K}}{S_{K}}
\]

其中

\(\alpha = \frac {\sqrt{3}}{6}\)

,

\(h_{max}\)是三角形的最长的边。

\(P_{K}\)是其内切圆的半径。

其上值从1开始到无穷。等边三角形逻辑上是无穷。为了返回从0-1开始的测量质量。所以

\[Q_K=\beta\frac{h^2_s}{S_K}
\]

其中\(\beta\)是一个标准化的因子表示一个单位质量对于一个等边三角形\(\beta = \frac{\sqrt{3}}{12}\)

其中,\(h_s = \sqrt{\sum^3_{i=1}L_i^2}\)

\(L_i\)表示三角形边的长度。

缺点,在不好的三角形不明感,尤其是在三维空间中

Delaunay Triangle 学习1的更多相关文章

  1. Triangle 1.6 (A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator)

    Triangle 一个二维高质量网格(mesh)生成器和Delaunay三角化工具. PSLG(Planar Straight Line Graph)约束Delaunay三角网(CDT)与Delaun ...

  2. 通过CGAL将一个多边形剖分成Delaunay三角网

    目录 1. 概述 2. 实现 3. 结果 4. 参考 1. 概述 对于平面上的点集,通过Delaunay三角剖分算法能够构建一个具有空圆特性和最大化最小角特性的三角网.空圆特性其实就是对于两个共边的三 ...

  3. Triangle - Delaunay Triangulator

    Triangle - Delaunay Triangulator  eryar@163.com Abstract. Triangle is a 2D quality mesh generator an ...

  4. Visualize Surface by Delaunay Triangulator

    Visualize Surface by Delaunay Triangulator eryar@163.com Abstract. Delaunay Triangulation is the cor ...

  5. OpenCV——Delaunay三角 [转载]

    从这个博客转载 http://blog.csdn.net/raby_gyl/article/details/17409717 请其它同学转载时注明原始文章的出处! Delaunay三角剖分是1934年 ...

  6. 现代3D图形编程学习-基础简介(2) (译)

    本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...

  7. Css--深入学习之三角形气泡窗

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 一.三角形的实现 首先,先画了三角形,后面二.三都是根据这个 ...

  8. Java学习笔记11

    package welcome; import java.util.Scanner; /* * 代数问题:求解2x2线性方程 */ public class ComputeLinearEquation ...

  9. jQuery.validationEngine.js学习

    项目中使用到了这个插件,抽了个空,看了一下. (function($){ var method ={} $.fn.validationEngine = function(){} $.validatio ...

  10. WPF学习之绘图和动画

    如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是 ...

随机推荐

  1. windows10环境下,remote wsl链接wsl ubuntu使用ubuntu 开发环境,报错:VS Code server for WSL closed unexpectedly check WSL terminal for more details

    报错提示这样 在windows的vscode里面的关键报错信息是:vscode wsl Unable to detect if server is already installed: Error: ...

  2. robotframework之添加browser库

    browser库的官网地址需要FQ,在网上找到了不需要FQ的版本 robotframework-browser · PyPI 1.下载node.js 下载地址:https://nodejs.org/e ...

  3. web自动化的鼠标操作

    有些场景不适合点击或进行某些操作,可运用action类模拟鼠标操作.在操作一个页面元素时有时需要一连串的动作来配合的时候,可以使用action来完成. Actions actions= new Act ...

  4. 没几个人需要了解的JDK知识,我却花了3天时间研究

    目前国内发布自己JDK版本的几家公司: 腾讯和阿里是因为有Java应用和云业务,所以在优化发布自己的版本 华为也是因为Java应用和云业务,不过因为还有服务器业务,所以还有Java课题的跑分需求,如S ...

  5. freeswitch配置视频对接

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. 随着4G/5G网络的完善,视频呼叫的需求慢慢变多,本文介绍使用fs对接视频线路的配置方案. 环境 CentOS 7.9 freesw ...

  6. 揭秘AI自动化框架Browser-use(终):利用MCP与Spring AI,3行代码复刻Browser-use实现

    技术背景与目标 在前几篇文章中,我们深入解析了Browser-use框架的核心机制,包括DOM树遍历与分析.提示词构造.任务分解与规划.以及浏览器操作的函数调用.我们将通过Spring AI和Play ...

  7. windows实现每天定时截图

    windows实现每天定时截图 一直想要做一个功能来给自己的电脑每天进行一个截图操作,今天终于做好了,下面分享一下设置的过程. 使用工具 任务计划程序(系统自带) snipaste (手动下载) 设置 ...

  8. IDEA设置之“代码提示不区分大小写”

    作用 代码提示不区分大小写 案例1 案例2

  9. C语言一点五编程实战:纯 C 的模块化×继承×多态框架

    本文将大量涉及C语言高级操作,如函数指针.结构体指针.二级指针.指针频繁引用解引用.typedef.static.inline和C语言项目结构等知识,请确保自己不会被上述知识冲击,如果没有这顾虑,请尽 ...

  10. "NU1605: 错误形式的警告: 检测到包降级"的解决办法

    这两行的意思是需要我们升级Maui.Controls的版本在8.0.14,取高版本. 同理,再次进行: 最后: