GIS算法的计算几何基础1题库.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 4 判断点是否在线段上 设点为Q,线段为P1P2,判断点Q在该线段上的依据是(Q-P1)×(P2-P1)=0且Q在以P1P2为对角线的矩形内。 判断的实现: * 5 判断两直线相交 算法1: (1)快速排除:以两条直线为端点的矩形不相交。(方法?)若矩形不相交,则直线不会相交。 * 5 判断两直线相交 (2)跨立试验:如果两线段相交,则必然跨立对方。即一直线的两端点必然位于另一直线两侧。 算法2: 定义A,B,C,D为二维空间点,则有向线段AB和CD的参数方程为: * 5 判断两直线相交 如果AB与CD相交,则: 解方程得: 设P为直线AB和CD的交点,则: * 5 判断两直线相交 如果 且 ,则有向线段AB与CD相交。 如果(Bx-AX)(Dy-Cy)-(By-Ay)(Dx-CX)=0,则AB与CD平行。 如果(By-Ay)(Dx-Cx)-(Bx-Ax)(Dy-Cy)=0,则AB与CD共线。 如果直线AB和CD相交,而交点不位于线段AB和CD之间,则交点位置可通过如下条件判断: r1,则P位于有向线段AB的延长线上; r0,则P位于有向线段BA的延长线上; s1,则P位于有向线段CD的延长线上; s0,则P位于有向线段DC的延长线上; * 6 矩形是否包含点 只要判断点的横坐标与纵坐标是否夹在矩形的左右边和上下边之间。 * 7判断线段、折线、多边形是否在矩形中 矩形是凸集,所以只需判断所有的端点是否在矩形中。 * 8 判断矩形是否在矩形中 比较左右边界和上下边界 * 9 判断圆是否在矩形中 圆心在矩形中,且圆的半径小于等于圆心到矩形四边的距离的最小值。 * 常用算法: ①射线法(奇偶法) ②转角法:环绕数(多边形环绕点的次数)为0,则点在多边形外,否则,点在多边形内。 10 判断点是否在多边形内 * 10.1 射线法 射线法计算从点P开始的射线穿过多边形边界的次数,多边形的边界将多边形内部与外部分开。如果结果为偶数,则点在多边形外部,否则,若为奇数,则点在多边形内部。 * 10.1 射线法 必须决定在多边形边界上的点是在多边形内部还是外部。一个标准的约定是在左边界或者下边界上的点认为是在多边形内部,在右边界或者上边界的点认为是在多边形外部。在这种约定下,如果两个不同的多边形共享一个边,那么在这条边上的点会在一个多边形的内部而在另一个多边形的外部。 * 10.1 射线法 一个简单的射线法是选择一条水平的、向点P的右侧延伸的、平行于X轴的射线。 为了计算总的交点的数目,算法简单的遍历多边形的所有边,测试是否穿越边,穿越时增加交点的数目。 穿越测试必须处理好一些特殊的情形。完全规则如下: (1)方向向上的边包括其开始点,不包括其终止点; (2)方向向下的边不包括其开始点,包括其终止点; (3)水平边不参加穿越测试; (4)射线和多边形的边的交点必须严格在点P的右边。 * 10.1 射线法 * 10.1 射线法 射线法的有效性是基于一个简单的闭合曲线将二维平面分成两个相连接的部分:有边界的内部和无边界的外部。 曲线必须是简单的(没有自相交),否则平面会被分成两个以上的部分,并且不能保证穿越边界时不会改变出入特性。 对于一个闭合的曲线,可能将二维平面分成多个部分,但是其中只有一个没有边界且在曲线外部的部分。 有边界的部分可能在曲线内部也可能在曲线外部。 两个有共同边界的有边界部分可能都在曲线内部,那么穿越过共享的边界并不会改变出入特性。 * 10 判断点是否在多边形内 判断出现错误! * 10.2 转角法 转角法能够很精确的判定一个点是否在多边形内部。需要计算多边形绕点多少次,环绕数为0时,点在多边形外部。 * 10.2 转角法 方法:定义二维平面中某个封闭曲线关于某点的环绕数。令C(u)=(x(u),y(u)),0≤u≤1,且C(0)=C(1),是二维连续曲线。P是不在C(u)上的点。 令Cp(u)= C(u)-P为从点P到C(u)的矢量,并且它的单位方向矢量为W(u)=CP(u)/| CP(u)|。 W(u)坐标形式为: W(u)=(cos(u),sin(u)), 其中(u)是正的逆时针方向的角。环绕的次数(wn)就等于W(u)环绕S1的次数的整数部分。计算公式为: * 10.2 转角法 若曲线C是由顶点V0,V1,…,Vn=V0构成的多边形,那么积分可以简化为计算带符号的角度的总和。这些角PVi与PVi+1的夹角。因此,如果i=angle(PVi,PVi+1),则 这个公式效率不高,原因在于arccos函数很耗时。 改进:在S1中任取一点Q,因为曲线W(u)环绕,则可能多次经过Q点。当W(u)按逆时

文档评论(0)

502992 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档