简单多边形是指各边不相交的多边形。
首先计算出所有顶点中心位置。
然后求每个顶点与中心的极角。
再对极角进行排序。
连接排序后的点就行了。
结果如下:
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));