实用算法

来源:互联网 发布:macbook air mac地址 编辑:程序博客网 时间:2024/06/06 02:59

Djisktra 

A*

NAV导航网格寻路

Navigation Mesh与Line-of-Sight Test http://www.cnblogs.com/neoragex2002/archive/2007/09/09/887556.html

Waypoint 寻路
四元数

Delaunay三角剖分算法



如何判断点p0是否处于凸多边形内
LOS_2.png

见上图,这里我们采用叉乘法,虽说只适用于凸多边形,不过计算最简便,不涉及三角运算(内角和法)和开方(面积法),什么水平垂直交叉线检测就直接免了吧,too ugly。假设多边形是顺时钟顶点序,我们采用的是左手系。遍历每条边,作一个边矢量e,从起点到终点;然后作测试矢量t,从边起点到要测试的点p0;计算test=e×t,如果test矢量的Z分量符号始终保持不变,则p0处于多边形内部;一旦其符号发生了改变(只需检测到一次符号改变即可),则p0处于多边形外部。