游戏数学
不倒的图图
这个作者很懒,什么都没留下…
展开
-
三维向量叉乘推导
三维向量叉乘困扰了我很久,以前高数老师教的也忘了,上网找到如下文章,觉得蛮好的,特拿来跟大伙分享这篇文章转载自http://www.cppblog.com/Leaf/archive/2013/05/09/200120.html三维向量叉乘推导一直以来,我都记不住向量叉乘的结果,每次都要查询。其根本原因在于,我没有去研究过叉乘是如何推导出来的。于是,这次想彻底解决一下。首先要转载 2014-02-01 14:56:57 · 16093 阅读 · 0 评论 -
射线和三角形相交检测
本文转自:http://blog.csdn.net/xiaosaret/article/details/6698305需要两个知识点:1: 线性方程组和行列式(也可理解成矩阵) 克莱姆法则2: 重心坐标系: P = uV0 + vV1 + wV (u,v,w)为中心坐标,P为焦点, u≥0 v≥0 w≥0 且 u+v+w = 1射线和三角形的相交检测是游戏程序设计转载 2014-02-21 15:07:54 · 1061 阅读 · 0 评论 -
关于四元数
四元数与复数:在搞清楚四元数之前首先要知道什么是复数以及复数的运算,详情:http://www.cnblogs.com/ThreeThousandBigWorld/archive/2012/07/21/2602588.html四元数是对复数的扩充,它使用三个虚部i,j,k它们的关系如下:i² = j² = k² = –1四元数形式:[w v]或[ w转载 2014-02-21 16:55:13 · 4336 阅读 · 0 评论 -
射线与平面的相交检测(Ray-Plane intersection test)
射线与平面的相交检测(Ray-Plane intersection test)射线的定义在欧几里德几何中,射线的定义是:直线上一点和它一旁的部分。由此可知,射线有两个性质,一是只有一个端点,二是一端无限延伸。射线的参数方程其中p0是射线的起点, u是射线的方向向量,t >= 0,根据t的取值不同,可得射线上不同的点,所有这些点便构成了整个射线,如图平面的定义平面转载 2014-02-22 13:19:59 · 1937 阅读 · 0 评论 -
四元数法、旋转矩阵法、欧拉角法的比较
3D空间中的旋转可用旋转矩阵、欧拉角或四元数等形式来表示,他们不过都是数学工具,其中在绕任意向量的旋转方面,旋转矩阵和四元数两种工具用的较多,欧拉角由于存在万向节死锁等问题,使用存在限制。(本文假设坐标系为左手坐标系中,旋转方向为顺时针。)所求问题:给定任意单位轴q(q1,q2,q3)(向量),求向量p(x,y,z)(或点p)饶q旋转theta角度的变换后的新向量p'(或点转载 2014-02-13 22:05:01 · 4954 阅读 · 0 评论 -
四元数旋转公式的证明
四元数旋转公式的证明对于左手坐标系,顺时针旋转有:V’q = Q*Vq*Q*;其中V’q为旋转后的四元数。假设旋转轴单位向量为q,要旋转的向量为v.旋转角度为θ,则四元素有:Vq =0+v=v;Q=cos(θ/2)+sin(θ/2)q;Q*= cos(θ/2)-sin(θ/2)q;带入上面公式有:V’q=(cos(θ/2)+sin(θ转载 2014-02-14 00:35:27 · 1151 阅读 · 0 评论 -
DirectX三维空间旋转矩阵原理
三维空间的旋转分开来看其实就是二维空间的旋转,对于二维空间的旋转给位同学大家高中应该都学过,这里简单推导一下,由于我不会制作这种图,随便在网上找了一下图,意思到了就可以,我们假设一线段从如下图所标示的x'轴旋转到ov线段,也就是从原来的与x轴夹角为β变为α,再假设α-β=θ。这里我们采用极坐标系思想,假设线段长度为ρ,那么原来的v坐标(x1,y1)为(ρcosβ,ρsinβ),变换之后的v坐标原创 2014-02-04 10:44:37 · 3190 阅读 · 0 评论