資源簡介
function p=createSimplyPoly(p)
cen=mean(p);
ang=atan2(p(:,1)-cen(1),p(:,2)-cen(2)); %每個點到坐標中心極角
p=[p,ang];
p=sortrows(p,3); %按極角排序
p=p(:,1:2);
end
cen=mean(p);
ang=atan2(p(:,1)-cen(1),p(:,2)-cen(2)); %每個點到坐標中心極角
p=[p,ang];
p=sortrows(p,3); %按極角排序
p=p(:,1:2);
end
代碼片段和文件信息
clear?all;
clc;
n=20;
p=rand(n2);
p=createSimplyPoly(p);??%創建簡單多邊形
hold?on;
for?i=1:n????
????if?i==1?????????????????????%處理第一個點
????????v1=p(n:)-p(1:);???????%當前點到前一點向量
????????v2=p(2:)-p(1:);???????%當前點到后一點向量
????elseif?i==n?????????????????%最后一個點
????????v1=p(n-1:)-p(n:);????
????????v2=p(1:)-p(n:);????????
????else????????????????????????%其他點
????????v1=p(i-1:)-p(i:);?????
????????v2=p(i+1:)-p(i:);
????end
????r
- 上一篇:共享單車matlab程序源代碼
- 下一篇:三維曲面擬合,用于matlab計算
評論
共有 條評論