算法
ym19860303
这个作者很懒,什么都没留下…
展开
-
Dijkstra 算法原理
如下图,设A为源点,求A到其他各顶点(B、C、D、E、F)的最短路径。线上所标注为相邻线段之间的距离,即权值。(注:此图为随意所画,其相邻顶点间的距离与图中的目视长度不能一一对等)图一:Dijkstra无向图算法执行步骤如下:转载 2012-09-21 23:51:17 · 1014 阅读 · 0 评论 -
叉乘法判断点是否在三角形内
叉乘法 沿着三角形的边按顺时针方向走,判断该点是否在每条边的右边(这可以通过叉乘判断),如果该点在每条边的右边,则在三角形内,否则在三角形外。这个算法只用到了三次叉乘,没有除法运算和三角函数、开根号等运算,所以效率很高,而且精度很高(没有浮点误差)。 设三角形三点A(x1,y1)B(x2,y2)C(x3,y3),已知点M(x,y), 1,先求出三个向量MA,MB,MC.转载 2013-09-24 20:20:55 · 3308 阅读 · 0 评论 -
求贝赛尔 曲线的长度
Quadratic Bezier curves are defined by second order polynominal, andcan be written as,where t is real parameter with values in range [0,1]. P'sare respectively curve starting point, anchor point a转载 2012-12-10 11:28:36 · 1990 阅读 · 0 评论 -
CatmullRom插值算法
Vector3f DDUtil::catmullRom(Vector3f P0, Vector3f P1, Vector3f P2, Vector3f P3, float t){ float factor = 0.5; Vector3f c0 = P1; Vector3f c1 = (P2 - P0) * factor; Vector3f c2转载 2014-03-17 18:12:15 · 6537 阅读 · 0 评论 -
四元数
在3D程序中,通常用quaternion来计算3D物体的旋转角度,与Matrix相比,quaternion更加高效,占用的储存空间更小,此外也更便于插值。在数学上,quaternion表示复数w+xi+yj+zk,其中i,j,k都是虚数单位:i*i = j*j = k*k= -1i*j = k, j*i = -k可以把quaternion看做一个标量和一个3D向量的组合。实转载 2014-06-09 13:45:14 · 3768 阅读 · 1 评论