本文整理汇总了C++中MATRIX::Identity方法的典型用法代码示例。如果您正苦于以下问题:C++ MATRIX::Identity方法的具体用法?C++ MATRIX::Identity怎么用?C++ MATRIX::Identity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MATRIX
的用法示例。
在下文中一共展示了MATRIX::Identity方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Scale
void MATRIX::Scale(VECTOR v){
MATRIX swp;
swp.Identity();
swp.m[0][0]=v.x;
swp.m[1][1]=v.y;
swp.m[2][2]=v.z;
*this=*this*swp;
}
示例2: Translate
void MATRIX::Translate(VECTOR v){
MATRIX swp;
swp.Identity();
swp.m[3][0]=v.x;
swp.m[3][1]=v.y;
swp.m[3][2]=v.z;
*this=*this*swp;
}
示例3: RotateZ
static MATRIX RotateZ(float a){
float cosinus=cosf(a);
float sinus=sinf(a);
MATRIX ret;
ret.Identity();
ret.m[0][0]=cosinus;
ret.m[1][1]=cosinus;
ret.m[0][1]=-sinus;
ret.m[1][0]=sinus;
return ret;
}
示例4: Target
void MATRIX::Target(VECTOR v,VECTOR c,float a){
VECTOR u(0,1,0);
VECTOR z=v-c;z.Normalize();
VECTOR y=u-z*Dot(u,z);y.Normalize();
VECTOR x=Cross(y,z);
MATRIX swp;
swp.Identity();
swp.m[0][0]=x.x,swp.m[0][1]=y.x,swp.m[0][2]=z.x;
swp.m[1][0]=x.y,swp.m[1][1]=y.y,swp.m[1][2]=z.y;
swp.m[2][0]=x.z,swp.m[2][1]=y.z,swp.m[2][2]=z.z;
swp.m[3][0]=-Dot(c,x);
swp.m[3][1]=-Dot(c,y);
swp.m[3][2]=-Dot(c,z);
*this=RotateZ(-a)*swp;
}