注册 登录
编程论坛 C图形专区

[求助]两个三角形的重合部分的面积

hfy19 发布于 2006-11-07 01:14, 1431 次点击
任意的给出六个点(他们能依次构成2个三角形) 求两个三角形的重合部分的面积
想问一下怎么来判断第四个点是不是在第一个三角形内部
3 回复
#2
jig2006-11-13 12:34

朋友,放耐性点,我作图给你看看,你就知道要怎么判断了
看图

只有本站会员才能查看附件,请 登录


所以,很简单,你只要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编辑过]

#3
hfy192006-11-13 23:28
高手啊   谢谢了啊  
#4
jig2006-11-14 10:13
朋友,不要这样说,我很惭愧,因为今天我在上课的时候一琢磨,我就发现我错了,现在上面回复才是正确的,你再看看。好好作摸一下,我想这回逻辑上应该是正确的。还请见谅

[此贴子已经被作者于2006-11-14 17:39:52编辑过]


1