专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
其中 w,x,y,z是实数同时,有: 其中v=(x,y,z)是矢量w是标量,虽然v是矢量但不能简单的理解为3D空间的矢量,它是4维空间中的的矢量也是非常不容易想像的。 通俗的讲一个四元数(Quaternion)描述了一个旋转轴和一个旋转角度。这个旋转轴和这个角度可以通过 Quaternion::ToAngleAxis转换得到 当然也可以随意指定一个角度一个旋转轴来构造一个Quaternion。這个角度是相对于单位四元数而言的也可以说是相对于物体的初始方向而言的。 当用一个四元数乘以一个向量时实际上就是让该向量圍绕着这个四元数所描述的旋转轴,转动这个四元数所描述的角度而得到的向量 有多种方式可表示旋转,如 axis/angle、欧拉角(Euler angles)、矩阵(matrix)、四元组等 相对于其它方法,四元组有其本身的优点:
最简单的插值算法就是线性插值公式如: 但这个结果是需要规格化的,否则q(t)的单位长度会发生变化所以 尽管线性插徝很有效,但不能以恒定的速率描述q1到q2之间的曲线这也是其弊端,我们需要找到一种插值方法使得q1->q(t)之间的夹角θ是线性的,即θ(t)=(1-t)θ1+t*θ2这樣我们得到了球形线性插值函数q(t),如下: 如果使用D3D可以直接使用 D3DXQuaternionSlerp 函数就可以完成这个插值过程。 总体来讲Camera 的操作可分为如下几类: 用鼠标拖动物体在三维空间里旋转,一般设计一个 trackball其内部实现也常用四元数。
四元數在電腦圖形學中用於表示物體的旋轉在unity中由x,y,z,w 表示四個值。
以上就是Quaternion的所有函數了 關於應用,就說一個其他的有需要再補充。 但是這並不能解決所有情況 很多時候from 和to都不是固定的,而苴上一個腳本也不能保證所有角度下的旋轉速度一致所以我寫了這個腳本來保證可以應付大多數情況。 |
|
|
|
|