6 矢量多边形的相关算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点与多边形关系判断的基本思路

判断点是否在多边形边界上实际上是判断点是否在多边形边界折
线上;

如果点不在多边形边界上,那么判断是否在多边形内部的基本思 路如下图所示: 从目标点引出一条无限伸 展的射线,如果点在多边 形内部,射线与边界只有 一个交点,如果在多边形 外部,没有交点或者有两 个交点。
A
标,才有可能与射线相交;

另一方面,如果两个端点的纵坐标都大于目标点的纵坐标则一定相交; 剩余的直线段由于交点的横坐标已经给定为目标点的横坐标,因此只需利
用直线段的方程计算交点纵坐标并判断相交性即可。
完备性?

从目标点引出一条无限伸展的垂直射线,如果点在多边
形内部,射线与边界交点个数为奇数,如果在多边形外 部,则交点个数为偶数?
5
i 1
ቤተ መጻሕፍቲ ባይዱ
xi )( yi 1 yi ) 2
x6 x1 , y6 y1
如果多边形边界按逆时针顺序存储 节点,面积如何计算?
计算规律及完备性?
2 1
4
5
3
多边形面积的通用公式
如果多边形的边界按照右手规则存储,假设其边界折点
的坐标按顺序依次为(x1,y2)~(xk,yk):
B
C
D
前述规律的完备性?
从目标点引出一条无限伸展的射线,如果点在多边形 内部,射线与边界交点个数为奇数,如果在多边形外
部,则交点个数为偶数。
如何简化运算?

利用垂直射线进行交点的快速判断; 对于边界折线上的每一个直线段来说,只有当直线段的两个端点横坐标分 列目标点横坐标的两侧,且至少有一个端点的纵坐标大于目标点的纵坐
S
(x
i 1
k
i 1
xi )( yi 1 yi ) 2
xk 1 x1 , yk 1 y1
判断点与多边形的关系
点在多边形内部
点在多边形边界上
点在多边形外部
(1,2) (4,5) (6,1) (3,3)
(1,2) (4,5) (6,1) (5,3)
(1,2) (4,5) (6,1) (2,4)
矢量多边形的相关算法
武汉理工大学 资源与环境工程学院 张晓盼 zxp.whut@163.com
主要内容


多边形面积的计算
判断点与多边形的关系
多边形面积的计算

在(2D)平面直角坐标系下,如果知道多边形边界的
所有节点坐标,如何计算该多边形的面积?
多边形面积的计算
基本思路:
多边形面积的计算
( x2 x1 )( y2 y1 ) ( x3 x2 )( y3 y2 ) ( x4 x3 )( y4 y3 ) SA 2
多边形面积的计算
( x4 x5 )( y4 y5 ) ( x5 x1 )( y5 y1 ) SB 2 ( x5 x4 )( y5 y4 ) ( x1 x5 )( y1 y5 ) SB 2
多边形面积的计算
SC S A S B
(x
i 1
点与多边形关系的判断

判断点是否在多边形边界折线上; 否则,从目标点开始引出一条垂直射线判断射线与多边 形边界的交点

如果射线与边界折线的某一个直线段重合,该直线段和与之相 连的另两条直线段不参与判断;


在边界折线的直线段内部的交点记为1个;
如果交点与某个节点重合,则当该节点连接的两个折线段分列 射线的两侧时,交点记为1个;当两个折线段在射线同一侧 时,交点记为2个。
相关文档
最新文档