有什么简单的算法可以判断一个点是否在三角形的内部?(5分)

K

kehaer

Unregistered / Unconfirmed
GUEST, unregistred user!

ptInRegion
 
自己写分太少
 
若未知点不是顶点,过三个顶点分别和未知点作直线 和3顶点所对应边都有交点的话
未知点在内部或边上
 
To 魔鬼大师:
不少了,这是我的最后家产了。
 
最简单的办法是用颜色探测法
 
什么是颜色探测法?
 
用不同的颜色画三角形
 
请看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1277180
但愿符合您的要求。
 
感谢creation-zy提供的答案。有时间我会认真的学习一下的。对于判断一个点是否在“单连通区域内部”的问题(实际上我只是针对三角形内部考虑的,能不能推广还有待证明),我想到了一个比较简单的办法,现在你帮我检查一下,看是否行得通。
首先在边界和顶点上的点单独考察。
对于凸多边形:
1,在多边形内部选取一点。
2,判断该点和未知点是否都在多边形边界的同侧,如果是,则点在内部。不是,则在外面。
对于凹多边形,是不是可以通过剖分把它变成凸的?然后用上面的方法。我不是学这个的,很多基本的都不清楚,所以还望指教。
 
我认为你的判断方法对凸多边形是有可行的。至于后面那部分,通过剖分来简化得思路也
没错,但是对于凹多边形,要进行正确的剖分会比较困难。
 
ok.谢谢creation-zy.
 
顶部