对于不同的传感器要进行不同的观测和袜肆监控,也就决定了,如果传感器不告凳轿同那么算法都是不同的。建议自己从观粗困测方程出发,自行设计
function isInPoly(varargin)
% 函数功培睁能:判断二维空间点是否在三角形或四边形内
% 举例说明:
% isInPoly([2,5],[3,4],[5,5],[6,8],1)
% isInPoly([1,2],[0,5],[3,3],[1,1],0)
% isInPoly([0,2],[2,5],[1,3],[8,2],[2,1],0)
% isInPoly([5,2],[1,5],[2,2],[3,8],[8,0],1)
if nargin ==5 % 三角形
point = varargin{1} % 二维空间点
poly = [varargin{2}varargin{3}varargin{4}varargin{2}]
flag = varargin{5} % 标志位
elseif nargin == 6 % 四边形
point = varargin{1} % 二维空间点
poly = [varargin{2}varargin{3}varargin{4}varargin{5}varargin{2}]
flag = varargin{6} % 标志位
else
disp('输入不合法!')
end
x = point(1)y = point(2)
xv = poly(:,1)yv = poly(:,2)
in = inpolygon(x,y,xv,yv) % 判断点是否在多边形内
if in == 1 % 输出结果
disp('二维空间点在多边形内')
else
disp('二维空间点不在多边形内')
end
if flag == 1 衫侍 % 标志位 =1,画图
plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo') % 点在其中,“红色+”;否则“蓝色配塌岁。”
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)