当前位置:   article > 正文

Delaunay三角网(MATLAB)_matlab delaunay

matlab delaunay
    基于离散点数据,构建Delaunay三角网。

目录

一 准备

二 步骤

(1)生成随机点数据

(2)构建Delaunay三角网

1°方法一

2°方法二

三 结果

(1)方法一

(2)方法二

四 说明


一 准备

(1)要提取区域的.tif文件。

(2)MATLAB 2022b(其他版本也可以)。

(3)新建脚本文件

二 步骤

(1)生成随机点数据

  1. % 定义边界大小和点数
  2. N = 100;
  3. xmin = 0;
  4. xmax = 1;
  5. ymin = 0;
  6. ymax = 1;
  7. % 生成随机点
  8. x = xmin + (xmax-xmin).*rand(N,1);
  9. y = ymin + (ymax-ymin).*rand(N,1);

(2)构建Delaunay三角网

1°方法一
  1. % 进行Delaunay三角剖分
  2. tri = delaunay(x,y);
  3. % 绘制三角网格
  4. triplot(tri,x,y);
  5. % 添加边界
  6. hold on
  7. plot([xmin,xmin,xmax,xmax,xmin],[ymin,ymax,ymax,ymin,ymin],'k--');
  8. hold off
  9. title("Delaunay三角剖分,"+"N="+N);
2°方法二
  1. % 将数据点集转换为Delaunay三角剖分
  2. DT = delaunayTriangulation(x',y');
  3. % 获取三角形的顶点坐标和连接关系
  4. triangles = DT.ConnectivityList;
  5. vertices = DT.Points;
  6. % 绘制TIN图形
  7. figure;
  8. triplot(triangles,vertices(:,1),vertices(:,2));
  9. title('TIN图形');

三 结果

(1)方法一

(随机点个数不同得到的不同随机结果)

(2)方法二

(多次运行得到的随机结果)

四 说明

      方法一:使用rand函数生成100个随机点(可以进行更改),再使用delaunay函数进行Delaunay三角剖分,得到一个三角形的索引表(tri),最后使用triplot函数将三角形绘制出来。

       方法二:在绘制TIN图形时,使用triangles和vertices两个变量,triangles包含三角形的连接关系,vertices包含三角形的顶点坐标。

(需要完整代码及运行结果请留言~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/876759
推荐阅读
相关标签
  

闽ICP备14008679号