资源简介
用逐点添加的方法对散点建立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
- 上一篇:鲸鱼优化算法MATLAB程序
- 下一篇:黑莓App world3.1版
评论
共有 条评论