Page 25 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 25

}


            char  flipbyte  (char  byte)
            {

                    char  flop  =  0x00;


                    flop  =  (flop  &  0b11111110)  |  (0b00000001  &  (byte  >>  7));
                    flop  =  (flop  &  0b11111101)  |  (0b00000010  &  (byte  >>  5));
                    flop  =  (flop  &  0b11111011)  |  (0b00000100  &  (byte  >>  3));

                    flop  =  (flop  &  0b11110111)  |  (0b00001000  &  (byte  >>  1));
                    flop  =  (flop  &  0b11101111)  |  (0b00010000  &  (byte  <<  1));
                    flop  =  (flop  &  0b11011111)  |  (0b00100000  &  (byte  <<  3));
                    flop  =  (flop  &  0b10111111)  |  (0b01000000  &  (byte  <<  5));
                    flop  =  (flop  &  0b01111111)  |  (0b10000000  &  (byte  <<  7));

                    return  flop;
            }
            // 줄그리기
            void  line(int  x1,  int  y1,  int  z1,  int  x2,  int  y2,  int  z2)
            {

                    float  xy;
                    float  xz;
                    unsigned  char  x,y,z;
                    unsigned  char  lasty,lastz;



                    if  (x1>x2)
                    {
                            int  tmp;
                            tmp  =  x2;  x2  =  x1;  x1  =  tmp;
                            tmp  =  y2;  y2  =  y1;  y1  =  tmp;

                            tmp  =  z2;  z2  =  z1;  z1  =  tmp;
                    }

                    if  (y1>y2)
                    {

                            xy  =  (float)(y1-y2)/(float)(x2-x1);
                            lasty  =  y2;
                    }  else
                    {
                            xy  =  (float)(y2-y1)/(float)(x2-x1);

                            lasty  =  y1;
                    }


                                                         -  24  -
   20   21   22   23   24   25   26   27   28   29   30