matlab練習程式(構造簡單多邊形)

Dsp Tian發表於2014-10-04

簡單多邊形是指各邊不相交的多邊形。

首先計算出所有頂點中心位置。

然後求每個頂點與中心的極角。

再對極角進行排序。

連線排序後的點就行了。

結果如下:

matlab程式碼如下:

clear all;close all;clc;

n=30;
p=rand(n,2);

cen=mean(p);
ang=atan2(p(:,1)-cen(1),p(:,2)-cen(2)); %每個點到座標中心極角

p=[p,ang];
p=sortrows(p,3);    %按極角排序

hold on;         %連線各點            
plot(p(:,1),p(:,2));
p=circshift(p,1);
plot(p(:,1),p(:,2));

 

相關文章