91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

用C++編制的一個將三角形在二維平面進(jìn)行復(fù)合矩陣變換的小程序,包括縮放,平移和旋轉(zhuǎn)的復(fù)合變換

資源截圖

代碼片段和文件信息

#include
#include
#include

/*Set?initial?display-window?size.*/
GLsizei?winWidth=600winHeight=600;

/*Set?range?for?world?coordinates.*/
GLfloat?xwcMin=0.0xwcMax=225.0;
GLfloat?ywcMin=0.0ywcMax=225.0;//10

class?wcPt2D{
public:
GLfloat?xy;
};

typedef?GLfloat?Matrix3x3?[3][3];

Matrix3x3?matComposite;
//20
const?GLfloat?pi=3.14159;

void?init?(void)
{
/*Set?color?of?display?window?to?white.*/
glClearColor?(1.01.01.00.0);
}

/*Constract?the?3?by?3?identity?matrix.*/
void?matrix3x3SetIdentity(Matrix3x3?matIdent3x3)//30
{
GLint?rowcol;

for(row=0;row<3;row++)
for(col=0;col<3;col++)
matIdent3x3[row][col]=(row==col);
}

/*Premultiply?matrix?m1?times?m2?store?result?in?m2.*/
void?matrix3x3PreMultiply(Matrix3x3?m1Matrix3x3?m2)//40
{
GLint?rowcol;
Matrix3x3?matTemp;

for(row=0;row<3;row++)
for(col=0;col<3;col++)
matTemp[row][col]=m1[row][0]*m2[0][col]+m1[row][1]*m2[1][col]+m1[row][2]*m2[2][col];

for(row=0;row<3;row++)
for(col=0;col<3;col++)//50
m2[row][col]=matTemp[row][col];
}

void?translate2D(GLfloat?tx?GLfloat?ty)
{
Matrix3x3?matTransl;

/*Intialize?translation?matrix?to?identity.*/
matrix3x3SetIdentity(matTransl);
//60
matTransl[0][2]=tx;
matTransl[1][2]=ty;

/*Concatenate?matTransl?with?the?composite?matrix.*/
matrix3x3PreMultiply(matTransl?matComposite);
}

void?rotate2D(wcPt2D?pivotPt?GLfloat?theta)
{
Matrix3x3?matRot;//70

/*Initialize?rotation?matrix?to?identy.*/
matrix3x3SetIdentity(matRot);

matRot[0][0]=cos(theta);
matRot[0][1]=-sin(theta);
matRot[0][2]=pivotPt.x*(1-cos(theta))+pivotPt.y*sin(theta);

matRot[1][0]=sin(theta);
matRot[1][1]=cos(theta);//80
matRot[1][2]=pivotPt.y*(1-cos(theta))-pivotPt.x*sin(theta);

/*Concatenate?matRot?with?the?composite?matrix.*/
matrix3x3PreMultiply(matRot?matComposite);
}

void?scale2D(GLfloat?sxGLfloat?sywcPt2D?fixedPt)
{
Matrix3x3?matScale;
//90
/*Initialize?scaling?matrix?to?identity.*/
matrix3x3SetIdentity(matScale);

matScale[0][0]=sx;
matScale[0][2]=(1-sx)*fixedPt.x;
matScale[1][1]=-sy;
matScale[1][2]=(1-sy)*fixedPt.y;

/*Concatenate?matScale?with?the?composite?matrix.*/
matrix3x3PreMultiply(matScale?matComposite);//100
}

/*Using?the?composite?matrix?calculate?transformed?coordinates.*/
void?transformVerts2D(GLint?nVerts?wcPt2D?*verts)
{
GLint?k;
GLfloat?temp;

for(k=0;k temp=matComposite[0][0]*verts[k].x+matComposite[0][1]*verts[k].y+matComposite[0][2];//110
verts[k].y=matComposite[1][0]*verts[k].x+matComposite[1][1]*verts[k].y+matComposite[1][2];
verts[k].x=temp;
}
}

void?triangle(wcPt2D?*verts)
{
GLint?k;

glBegin(GL_TRIANGLES);//120
for(k=0;k<3;k++)
glVertex2f(verts[k].xverts[k].y);
glEnd();
}

void?displayFcn(void)
{
/*Define?initial?position?for?triangle*/
????GLint?nVerts=3;
wcPt2D?verts[3]={{50.025.0}{150.025.0}{100.0100.0}};//

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4518??2011-10-15?21:50??5_4_11二維復(fù)合矩陣編程實(shí)例\5_4_11二維復(fù)合矩陣編程實(shí)例.dsp

?????文件????????560??2011-10-15?20:25??5_4_11二維復(fù)合矩陣編程實(shí)例\5_4_11二維復(fù)合矩陣編程實(shí)例.dsw

?????文件??????41984??2011-10-15?21:51??5_4_11二維復(fù)合矩陣編程實(shí)例\5_4_11二維復(fù)合矩陣編程實(shí)例.ncb

?????文件??????53760??2011-10-15?21:51??5_4_11二維復(fù)合矩陣編程實(shí)例\5_4_11二維復(fù)合矩陣編程實(shí)例.opt

?????文件????????984??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\5_4_11二維復(fù)合矩陣編程實(shí)例.plg

?????文件?????204932??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\5_4_11二維復(fù)合矩陣編程實(shí)例.exe

?????文件?????221108??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\5_4_11二維復(fù)合矩陣編程實(shí)例.ilk

?????文件?????345960??2011-10-15?21:30??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\5_4_11二維復(fù)合矩陣編程實(shí)例.pch

?????文件?????369664??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\5_4_11二維復(fù)合矩陣編程實(shí)例.pdb

?????文件??????41984??2011-10-15?21:46??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\vc60.idb

?????文件??????45056??2011-10-15?21:43??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\vc60.pdb

?????文件??????13507??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug\三角形旋轉(zhuǎn)縮放平移.obj

?????文件???????4737??2011-10-15?21:43??5_4_11二維復(fù)合矩陣編程實(shí)例\三角形旋轉(zhuǎn)縮放平移.cpp

?????文件???????4737??2011-10-15?21:44??5_4_11二維復(fù)合矩陣編程實(shí)例\新建?文本文檔.txt

?????目錄??????????0??2011-10-15?21:45??5_4_11二維復(fù)合矩陣編程實(shí)例\Debug

?????目錄??????????0??2011-10-15?21:51??5_4_11二維復(fù)合矩陣編程實(shí)例

-----------?---------??----------?-----??----

??????????????1353491????????????????????16


評論

共有 條評論