声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2063|回复: 10

[编程技巧] 如何判断一个多边形是凹还是凸

[复制链接]
发表于 2009-4-26 19:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问如何用MATLAB指令判断一个多边形是凹还是凸?谢谢指点!
回复
分享到:

使用道具 举报

发表于 2009-4-26 19:34 | 显示全部楼层
不才, 不知有现成函数!
求出内角再判断是否大於180?
 楼主| 发表于 2009-5-6 16:06 | 显示全部楼层

回复 沙发 ChaChing 的帖子

你好,那怎么求内角再判断是否大於180度啊?对于不同的图形同一个角可能是小于180也有可能大于180啊!请您给点指点!谢谢了!
发表于 2009-5-6 16:44 | 显示全部楼层
help convhull
help inpolygon

评分

1

查看全部评分

发表于 2009-5-6 17:05 | 显示全部楼层
参考以前你问的关于求不规则图形的内角的问题:
http://forum.vibunion.com/forum/ ... mp;page=1#pid403478

评分

1

查看全部评分

 楼主| 发表于 2009-5-6 20:32 | 显示全部楼层

回复 地板 rocwoods 的帖子

谢谢前辈指点!呵呵!
发表于 2009-5-6 21:48 | 显示全部楼层

回复 板凳 dianxin05 的帖子

怎楼主自个问过竟忘了
发表于 2009-5-6 21:51 | 显示全部楼层

回复 地板 rocwoods 的帖子

怎用convhull/inpolygon判断? 好奇! 教下!
发表于 2009-5-7 09:25 | 显示全部楼层
convhull找出多边形的凸壳,再用inpolygon,如果是凸多边形,所有点都在凸壳上。否则至少一个点在凸壳内。

评分

1

查看全部评分

发表于 2009-5-7 10:14 | 显示全部楼层

回复 9楼 rocwoods 的帖子

漂亮!:victory:
汗! LZ都已提示, 怎没想到!:@L
谢谢解惑!
发表于 2009-5-7 10:16 | 显示全部楼层

回复 9楼 rocwoods 的帖子

hehe,受教了,写了一个例子:
x=[0,0,-1,1,1,0]'; y=[0,1,2,2,0,0]';
K=convhull(x,y);
plot(x(K),y(K),'r',x,y,'bo')
[IN ON]=inpolygon(x,y,x(K),y(K));
if isempty(find(ON==0,1))
    disp('此多边形为凹的');
else
    disp('此多边形为凸的');
end

[ 本帖最后由 ChaChing 于 2009-5-7 10:24 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 13:38 , Processed in 0.167190 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表