Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<dos.h>
- #include<graphics.h>
- int poly[30],a[9][3],b[3][3],c[9][3],poly2[30];
- int x=1,p,i,j,k,xc,yc,ch,op;
- void rot(){
- xc=getmaxx()/2;
- yc=getmaxy()/2;
- setfillstyle(0,0);
- printf("\n\n Enter number of points : ");
- scanf("%d",&p);
- j=0;
- for(i=0;i<p*2;i+=2){
- printf("\n Enter cordinate point x%d and y%d : ",j+1,j+1);
- scanf("%d",&poly[i]);
- scanf("%d",&poly[i+1]);
- j++;
- }
- poly[p*2]=poly[0];
- poly[p*2+1]=poly[1];
- for(i=0;i<p*2;i+=2){
- poly2[i]=xc+poly[i];
- poly2[i+1]=yc-poly[i+1];
- }
- poly2[p*2]=poly2[0];
- poly2[p*2+1]=poly2[1];
- fillpoly(p+1,poly2);
- line(0,yc,xc*2,yc);
- line(xc,0,xc,yc*2);
- j=0;
- for(i=0;i<p;i++){
- a[i][0]=poly[j];
- a[i][1]=poly[++j];
- a[i][2]=1;
- ++j;
- }
- for(i=0;i<3;i++)
- for(j=0;j<3;j++){
- b[i][j]=0;
- if(i==j)
- b[i][j]=1;
- }
- b[0][0]=-1;
- for(i=0;i<p;i++)
- for(j=0;j<3;j++){
- c[i][j]=0;
- for(k=0;k<3;k++)
- c[i][j]=c[i][j]+a[i][k]*b[k][j];
- }
- printf("\n\n\n\n\n\n\n\n\n Reflection : ");
- for(i=0;i<p;i++){
- printf("\n");
- for(j=0;j<3;j++)
- printf("%d\t",c[i][j]);
- }
- for(i=0,j=0;i<p;i++,j+=2){
- poly[j]=xc+c[i][0];
- poly[j+1]=yc-c[i][1];
- }
- poly[j]=poly[0];
- poly[j+1]=poly[1];
- fillpoly(p+1,poly);
- }
- void main(){
- int gd=DETECT,gm;
- clrscr();
- initgraph(&gd, &gm, "C:\\tc\\bgi");
- rot();
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement