求大神写一个matlab的程序

做好发我... 做好发我 展开
 我来答
kuxingseng1999
2018-12-27 · TA获得超过698个赞
知道小有建树答主
回答量:334
采纳率:86%
帮助的人:178万
展开全部

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

追问
好像还有两个四边形的图,能不能发给我,谢谢了
百度网友ff0735c
2018-12-26
知道答主
回答量:71
采纳率:0%
帮助的人:5.4万
展开全部
看不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友34fda91
2018-12-26
知道答主
回答量:96
采纳率:0%
帮助的人:7.1万
展开全部
不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式