码迷,mamicode.com
首页 > 其他好文 > 详细

如何判断一个点是否在一个多边形内?

时间:2014-07-20 00:02:35      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:时间   如何   表达式   ash   x   二分   

提示:对多边形进行分割,成为一个个三角形,判断点是否在三角形内。

 

一个非常有用的解析几何结论:如果P2(x1,y1),P2(x2,y2), P3(x3,y3)是平面上的3个点,那么三角形P1P2P3的面积等于下面绝对值的二分之一:

| x1  y1  1 |

| x2 y2  1 | = x1y2 + x3y1 + x2y3 –x3y2 – x2y1 – x1y3

| x3 y3  1 |

       当且仅当点P3位于直线P1P2(有向直线P1->P2)的右侧时,该表达式的符号为正。这个公式可以在固定的时间内,检查一个点位于两点确定直线的哪侧,以及点到直线的距离(面积=底*高/2)。

 

       这个结论:可以用来判断点是否在点是否在三角形内。法1:判断点和三角形三边所行程的3个三角形的面积之和是否等于原来三角形的面积。(用了三次上面的公式)。

法2:判断是否都在三条边的同一边,相同则满足,否则不在三角形内。

如何判断一个点是否在一个多边形内?,布布扣,bubuko.com

如何判断一个点是否在一个多边形内?

标签:时间   如何   表达式   ash   x   二分   

原文地址:http://www.cnblogs.com/aochulai/p/3855603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!