• 大小: 991B
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: Matlab
  • 标签:

资源简介

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

资源截图

代码片段和文件信息

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

评论

共有 条评论