朋友,放耐性点,我作图给你看看,你就知道要怎么判断了
看图
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
所以,很简单,你只要d点画个十字架,看那亮绿色的4个点,只要你延d点的两条蓝色线条与三角形有4个焦点,并且
(lx < dx < rx) 并且 (uy< dy < downy) 就可以判断d点在三角形内。现在的问题就是,怎么判断延d点的两条蓝色线条与三角形是否有4个交点, 且是否满足以上说的内容,这个我给你两个意见:
(1):若背景为纯色,就像我给你画的图片,他的背景为单一的白色,所以你可以各沿D点的x,y轴逐个提取背景色,一直提取的颜色值为红色就表明有交点,而且可得出具体的交点坐标,得到个交点坐标后,再进行判断。
(2):要是背景色不单一,那么就把ab,bc,cd三条线的数学方程个写出,然后直接和d点的数学方程相列,得出4个交点。这个就完全是解方程啦,你自己去琢磨一下不难的。
在给你个提示,可以剔除很多不必要的情况,看下图
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
如果d点在这个黄框外那么就不予以考虑,这个黄框的坐标范围还是很好得到的吧。
先前的考虑不周,导致方法错误还请你谅解,呵呵
[此贴子已经被作者于2006-11-14 10:37:35编辑过]