已知:直线的方程,以及多边形的顶点坐标
求:两者的相交部分~
5 个解决方案
#1
第一步,判断每个顶点坐标是否在直线上,如果是,则是一个交点。
第二步,使用直线依次和多边形的每个边求交点。
第三步,将所有的交点在直线上进行排序。
第四步,每次区两个点,取中点,判断中点是否在多边形内部,如果是,则是一段交线。
要注意:交点是顶点坐标的情况。
点是否在一个多边形内的算法比较多,简单的如:面积法等。
第二步,使用直线依次和多边形的每个边求交点。
第三步,将所有的交点在直线上进行排序。
第四步,每次区两个点,取中点,判断中点是否在多边形内部,如果是,则是一段交线。
要注意:交点是顶点坐标的情况。
点是否在一个多边形内的算法比较多,简单的如:面积法等。
#2
多谢大侠指点~~~
#3
楼上算法有点问题,没有考虑相切的情况!
#4
抱歉,看错了。
#5
给你个网站参考下
http://blog.csdn.net/shaoshaoh/archive/2007/02/26/1514908.aspx
http://blog.csdn.net/shaoshaoh/archive/2007/02/26/1514908.aspx
#1
第一步,判断每个顶点坐标是否在直线上,如果是,则是一个交点。
第二步,使用直线依次和多边形的每个边求交点。
第三步,将所有的交点在直线上进行排序。
第四步,每次区两个点,取中点,判断中点是否在多边形内部,如果是,则是一段交线。
要注意:交点是顶点坐标的情况。
点是否在一个多边形内的算法比较多,简单的如:面积法等。
第二步,使用直线依次和多边形的每个边求交点。
第三步,将所有的交点在直线上进行排序。
第四步,每次区两个点,取中点,判断中点是否在多边形内部,如果是,则是一段交线。
要注意:交点是顶点坐标的情况。
点是否在一个多边形内的算法比较多,简单的如:面积法等。
#2
多谢大侠指点~~~
#3
楼上算法有点问题,没有考虑相切的情况!
#4
抱歉,看错了。
#5
给你个网站参考下
http://blog.csdn.net/shaoshaoh/archive/2007/02/26/1514908.aspx
http://blog.csdn.net/shaoshaoh/archive/2007/02/26/1514908.aspx