本文整理汇总了C++中Fmatrix::rotation方法的典型用法代码示例。如果您正苦于以下问题:C++ Fmatrix::rotation方法的具体用法?C++ Fmatrix::rotation怎么用?C++ Fmatrix::rotation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fmatrix
的用法示例。
在下文中一共展示了Fmatrix::rotation方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: calc_cam_diff_rot
void calc_cam_diff_rot(Fmatrix item_transform, Fvector diff, Fvector& res)
{
Fmatrix cam_m;
cam_m.i.set (Device.vCameraRight);
cam_m.j.set (Device.vCameraTop);
cam_m.k.set (Device.vCameraDirection);
cam_m.c.set (Device.vCameraPosition);
Fmatrix R;
R.identity ();
if(!fis_zero(diff.x))
{
R.rotation(cam_m.i,diff.x);
}else
if(!fis_zero(diff.y))
{
R.rotation(cam_m.j,diff.y);
}else
if(!fis_zero(diff.z))
{
R.rotation(cam_m.k,diff.z);
};
Fmatrix item_transform_i;
item_transform_i.invert (item_transform);
R.mulB_43(item_transform);
R.mulA_43(item_transform_i);
R.getHPB (res);
res.mul (180.0f/PI);
}
示例2: q_scalem
IC void q_scalem(Fmatrix &m, float v)
{
Fquaternion q;
q.set(m);
q_scale(q,v);
m.rotation(q);
}
示例3: q_scale_vs_basem
//sclale base' * q by scale_factor returns result in matrix m_res
IC void q_scale_vs_basem(Fmatrix &m_res,const Fquaternion &q, const Fquaternion &base,float scale_factor)
{
Fmatrix mb,imb;
mb.rotation(base);
imb.invert(mb);
Fmatrix m;m.rotation(q);
m_res.mul(imb,m);
q_scalem(m_res,scale_factor);
}
示例4: mk_orientation
void CCustomMonster::mk_orientation(Fvector &dir, Fmatrix& mR)
{
// orient only in XZ plane
dir.y = 0;
float len = dir.magnitude();
if (len>EPS_S)
{
// normalize
dir.x /= len;
dir.z /= len;
Fvector up; up.set(0,1,0);
mR.rotation (dir,up);
}
}
示例5: check_scale
IC bool check_scale(const Fquaternion &q)
{
Fmatrix m;
m.rotation(q);
return check_scale(m);
}
示例6: Fquaternion
void poses_interpolation::pose ( Fmatrix &p, float factor ) const
{
p.rotation( Fquaternion().slerp( q0, q1, factor ) );
p.c.lerp( p0, p1, factor );
}