Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Graphics Lecture 26 Fasih ur Rehman. Last Class Shading Phong Reflection Model.

Similar presentations


Presentation on theme: "Computer Graphics Lecture 26 Fasih ur Rehman. Last Class Shading Phong Reflection Model."— Presentation transcript:

1 Computer Graphics Lecture 26 Fasih ur Rehman

2 Last Class Shading Phong Reflection Model

3 Today’s Agenda Examples

4 Matrix Multiplication void matrixMul(float P[1][3],float T[3][3]) { int i,j,k; //Initialize Matrix P1 with Zero for(i=0;i<3;i++) P1[0][i]=0; /*Mutiply T with P and store the result in P1 */ for(k=0;k<1;k++) for(i=0;i<3;i++) for(j=0;j<3;j++) P1[k][i]+=P[k][j]*T[j][i]; }

5 Matrix Identity void matrixIdentity(float T[3][3]) { int i,j; /* Make matrix T as Identity Matrix by Storing 1 in the left diagonal positions of Matrix T and store 0 in other positions */ for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) T[i][j]=1; else T[i][j]=0; }

6 Translation void translate_point(int x,int y,int tx,int ty) //Translate a point by translation factors tx,ty { float T[3][3]; matrixIdentity(T); T[2][0]=tx; T[2][1]=ty; P[0][0]=x; P[0][1]=y; P[0][2]=1; matrixMul(P,T); }

7 Rotation void rotate_point(int x,int y,float angle) // Rotate a point by given angle { float R[3][3]; float radian; radian=(3.141/180)*angle; matrixIdentity(R); R[0][0]=cos(radian); R[1][0]=-1*sin(radian); R[2][0]=0; R[0][1]=sin(radian); R[1][1]=cos(radian); R[2][1]=0; P[0][0]=x; P[0][1]=y; P[0][2]=1; matrixMul(P,R); }

8 Scale void scale_point(int x,int y,float sx,float sy) /* Scale a point by scaling factors sx,sy and with respect to some fixed point */ { float S[3][3]; matrixIdentity(S); S[0][0]=sx; S[2][0]=0; S[1][1]=sy; S[2][1]=0; P[0][0]=x; P[0][1]=y; P[0][2]=1; matrixMul(P,S); }

9 Reflect void reflect_point_X(int x,int y) { float R[3][3]; matrixIdentity(R); R[1][1]=-1; P[0][0]=x; P[0][1]=y; P[0][2]=1; matrixMul(P,R); }

10 Shear void shear_point_Y(int x,int y,float shy) { float R[3][3]; matrixIdentity(R); R[0][1]=shy; P[0][0]=x; P[0][1]=y; P[0][2]=1; matrixMul(P,R); }

11 Summary Examples

12 References Fundamentals of Computer Graphics Third Edition by Peter Shirley and Steve Marschner Interactive Computer Graphics, A Top-down Approach with OpenGL (Sixth Edition) by Edward Angel. http://www.start2code.com/Cresources/2dfra me_cpp.html


Download ppt "Computer Graphics Lecture 26 Fasih ur Rehman. Last Class Shading Phong Reflection Model."

Similar presentations


Ads by Google