数学建模社区-数学中国

标题: 判断一个点和一个三角形位置关系的原理是什么? [打印本页]

作者: 爱的侍者    时间: 2012-8-14 16:01
标题: 判断一个点和一个三角形位置关系的原理是什么?
x1=a(1,1);y1=a(1,2);
x2=a(2,1);y2=a(2,2);
x3=a(3,1);y3=a(3,2);
x0=m(1);y0=m(2);
if
and(((m(1)-a(1,1))*(a(2,2))-(a(2,1)-a(1,1))*(m(2)-a(1,2)))*((m(1)-1(1,1))*(a(3,2)-a(1,2))-(a(3,1)-a(1,1))*(m(2)-a(1,2)))<0,(类似公式)<0)
y=1;
else if
or((类似公式)==0,(类似公式)==0)
y=0;
else
y=-1;
end
plot([a(:,1);a(1,1)],[a(:,2);a(1,2)],'r',m(1),m(2),'b*');

这个m函数我不明白它的原理是什么,if 后边的and或者or,连在一起用还是第一次看到,也没有查到怎么使用。

这道题计算的原理是什么?不是计算距离,用向量来看的话,前后两个标量都小于零则满足点在三角形内部,这个判断没有想明白,求助。


最后一个问题 plot([a(:,1);a(1,1)],[a(:,2);a(1,2)])这是啥意思啊??求解释 他就是找出来三点画图呗,分号后边的a(1,1)难道是起始点坐标?默认变化为1?我只见过start:end:默认啊,这个没见过。

作者: shaox    时间: 2012-8-14 17:04
这个程序有很多错误~~
作者: 大笨象    时间: 2012-8-14 17:19
就是点与直线的关系吧。记得当时把点坐标带入,判断就可以了。
作者: 爱的侍者    时间: 2012-8-14 18:10
shaox 发表于 2012-8-14 17:04
这个程序有很多错误~~

感谢您的回复
我找到的错误是:and 和 or 的错误使用;但是计算的基本思路是对的,矢量叉乘来判断点和三角形的位置关系;我想请教下这里的plot的使用是不是也是不对的?我没看懂这里,plot([a(:,1) a(:,2)])即可。
作者: zhangc_ningbo    时间: 2012-8-14 18:18
这是怎么算的呀,我怎么就没有看明白……
作者: gaoxian    时间: 2012-8-14 18:28
plot的使用没有错
作者: gaoxian    时间: 2012-8-14 18:41
爱的侍者 发表于 2012-8-14 18:10
感谢您的回复
我找到的错误是:and 和 or 的错误使用;但是计算的基本思路是对的,矢量叉乘来判断点和三 ...

你这样去看plot这个语句,你分开看比如我现在取a=[30 19;18 16;10 6];那么[a(:,1);a(1,1)]=[30;18;10;30];
[a(:,2);a(1,2)]=[19;16;6;19];也就是对应的三角形的三个顶点,其实你这样再去看plot就是这个意思plot(a,b,'r',c,d,'b*');所以这里plot([a(:,1);a(1,1)],[a(:,2);a(1,2)],'r')是为了画出三角形,plot(m(1),m(2),'b*')是标出点的位置。。。。。
作者: 爱的侍者    时间: 2012-8-14 19:02
gaoxian 发表于 2012-8-14 18:41
你这样去看plot这个语句,你分开看比如我现在取a=[30 19;18 16;10 6];那么[a(:,1);a(1,1)]=[30;18;10;30] ...

哦哦哦,学习了~!~gaoxian thankyou~!
作者: gaoxian    时间: 2012-8-14 19:51
爱的侍者 发表于 2012-8-14 19:02
哦哦哦,学习了~!~gaoxian thankyou~!

呵呵,互相学习!客气了~~~




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5