• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 语言: Matlab
  • 标签: 三角网  

资源简介

用逐点添加的方法对散点建立delaunay三角网,适合教学用

资源截图

代码片段和文件信息

function jieguo=delaunaytriangle
clear
clc
[filenamelpathnamel]=uigetfile(‘*.xyz‘‘pick an file for read‘);
fid1=fopen(strcat(pathnamelfilenamel)‘rt‘);
if(fid1==-1)
    msgbox(‘Input file of path is not correct!‘‘Warning‘‘warn‘);
    return;
end
data=textscan(fid1‘%f‘5000000);%读取所有点
fclose(fid1);
n=length(data{11})/8;
dat=zeros(n12);%生成相应坐标矩阵9位为柱面坐标中的角度值,10位为柱面分割编号11位是之后的tempdat用来存点号的
pdat=zeros(n2);%二维delaunay用
cdat=zeros(n3);%三维delaunay用
for i=1:1:n
    for j=1:1:8
        dat(ij)=data{11}((i-1)*8+j);
    end
end;%循环读取点进入空矩阵
x=0;y=0;zmax=-1000;zmin=1000;%用来计算点的中轴坐标以及z的范围
for i=1:1:n %计算点的中轴坐标
    x=dat(i3)/n+x;
    y=dat(i4)/n+y;
    zmax=max(zmaxdat(i5));
    zmin=min(zmindat(i5));
end
for i=1:1:n %坐标系平移到轴心,并算出每个点柱面坐标中的θ
    dat(i3)=dat

评论

共有 条评论