Advertisement
MHSS

Reflection

May 1st, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<dos.h>
  4. #include<graphics.h>
  5. int poly[30],a[9][3],b[3][3],c[9][3],poly2[30];
  6. int x=1,p,i,j,k,xc,yc,ch,op;
  7. void rot(){
  8.     xc=getmaxx()/2;
  9.     yc=getmaxy()/2;
  10.     setfillstyle(0,0);
  11.     printf("\n\n Enter number of points : ");
  12.     scanf("%d",&p);
  13.     j=0;
  14.     for(i=0;i<p*2;i+=2){
  15.         printf("\n Enter cordinate point x%d and y%d : ",j+1,j+1);
  16.         scanf("%d",&poly[i]);
  17.         scanf("%d",&poly[i+1]);
  18.         j++;
  19.     }
  20.     poly[p*2]=poly[0];
  21.     poly[p*2+1]=poly[1];
  22.     for(i=0;i<p*2;i+=2){
  23.         poly2[i]=xc+poly[i];
  24.         poly2[i+1]=yc-poly[i+1];
  25.     }
  26.     poly2[p*2]=poly2[0];
  27.     poly2[p*2+1]=poly2[1];
  28.     fillpoly(p+1,poly2);
  29.     line(0,yc,xc*2,yc);
  30.     line(xc,0,xc,yc*2);
  31.     j=0;
  32.     for(i=0;i<p;i++){
  33.         a[i][0]=poly[j];
  34.         a[i][1]=poly[++j];
  35.         a[i][2]=1;
  36.         ++j;
  37.     }
  38.     for(i=0;i<3;i++)
  39.     for(j=0;j<3;j++){
  40.         b[i][j]=0;
  41.         if(i==j)
  42.         b[i][j]=1;
  43.     }
  44.     b[0][0]=-1;
  45.  
  46.  
  47.     for(i=0;i<p;i++)
  48.     for(j=0;j<3;j++){
  49.         c[i][j]=0;
  50.         for(k=0;k<3;k++)
  51.         c[i][j]=c[i][j]+a[i][k]*b[k][j];
  52.     }
  53.     printf("\n\n\n\n\n\n\n\n\n Reflection : ");
  54.     for(i=0;i<p;i++){
  55.         printf("\n");
  56.         for(j=0;j<3;j++)
  57.         printf("%d\t",c[i][j]);
  58.     }
  59.     for(i=0,j=0;i<p;i++,j+=2){
  60.         poly[j]=xc+c[i][0];
  61.         poly[j+1]=yc-c[i][1];
  62.     }
  63.     poly[j]=poly[0];
  64.     poly[j+1]=poly[1];
  65.     fillpoly(p+1,poly);
  66. }
  67. void main(){
  68.     int gd=DETECT,gm;
  69.     clrscr();
  70.     initgraph(&gd, &gm, "C:\\tc\\bgi");
  71.     rot();
  72.     getch();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement