作者wxtab019 (天霜凝月)
看板MATLAB
标题[绘图] 判断图形重叠
时间Mon Jun 2 02:56:58 2014
想问一下要怎麽能够判断图形有没有重叠
举个简单的例子
像是知道两个四边形的4个顶点座标 就可以直接用plot画出图
那要怎麽判断两个图形有没有重叠
知道是可以用分离轴定理
不过matlab的话应该就变成4个方向都要判断
不知道有没有其他方法可以用来判断图形有无重叠
如果用线段方程式好像也比较麻烦...
圆形的话可以直接看中心距离和半径 不过像四边形这种到周围距离不同
好像就不能这样做
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.222.30
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1401649021.A.619.html
顺便多问一个问题
不知道matlab有没有办法像C那样建立类别
例如说我可以做一个函数像是
circle(r)
只要输入r
可以计算出像是
area=pi*r*r;
周长=2*pi*r;
这些可以用函数去写在里面
不过我如果像有好几个资料 像圆A B C
好像就不能像这样分类
用出像是
areaA=xxx
areaB=xxx这样
不知道有没有办法可以像这样更方便的去设函数
还是只能每一笔资料就全部重打一次 然後自己设名称
※ 编辑: wxtab019 (140.123.222.30), 06/02/2014 17:55:12
1F:→ wxtab019:我是想过用类似阵列的方式 像是[1,xxx] [2,xxx]这样 06/02 18:26
2F:→ wxtab019:不过因为我後面的资料也会用到矩阵的运算 所以感觉没办法 06/02 18:26
3F:→ jatj:用patch, alpha < 1, 之後一点一点计算每个pix的颜色即可 06/03 09:18
意思是说 例如设置一个长方形是有颜色 然後另一个没颜色
如果没颜色的那个范围内侦测到有颜色 就表示有重叠
不知道是不是这个意思...
上色的我知道可以用patch 不过alpha好像是设置透明度
好像不能用来侦测?
不知道可以用哪个函数
※ 编辑: wxtab019 (140.123.222.30), 06/03/2014 12:20:57
4F:→ wxtab019:有看到一个 G(i,j)==255 不过撞到红色之後就卡了... 06/03 12:38
5F:→ wxtab019:想说让他撞到红色就也变成红色 不过撞到就卡住 06/03 12:39
6F:→ wxtab019:看起来patch的上色不是double格式?是不是还要转? 06/03 12:41
7F:→ wxtab019:查了一下找到rectint 不过好像也只能用在平行的矩形? 06/03 16:21
8F:→ wxtab019:看他输入的值 如果角度有旋转好像就不能 06/03 16:21