GIS中的计算几何
点是否在线段上c;这样的判断在class="tags" href="/tags/TuXing.html" title=图形>图形编辑c;拓扑判断(比如c;GPS跟踪点是否跑在线上)需要用到这样的判断。通常的想法是:先求线段的直线方程c;再判断点是否符合这条直线方程c;如果符合c;还要判断点是否在线段所在的矩形区域(MBR)内c;以排除延长线上的可能性c;如果不符合c;则点不在线段上。这种思路是可行的c;但效率不高c;涉及到建立方程c;解方程。借助向量的叉积(也叫向量的向量积c;结果还是向量c;有方向的)可以很容易的判断。设向量a=(Xa,Ya,Za)cerun: yes;"> b=(Xb,Yb,Zb)cerun: yes;"> 向量叉积a X b如下:
线段和多边形交于线段的两端点并不会影响线段是否在多边形内;但是如果多边形的某个顶点和线段相交c;还必须判断两相邻交点之间的线段是否包含于多边形内部c;如果在面内c;则线段在面内c;否则不在面内。