Тема: Секторна діаграма
Дуже потрібна допомога.
Завдання: Намалювати секторну діаграму, де значення x={11,12,23,40,50,60}
Ось, що я вже написала:
 int x=500, y=230, xp=500, yp=230;
        double d;
...
 case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
   
        //Ellipse(hdc,50,10,500,450); //center (275;230)
        
        d=(11*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        
        d=(12*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        d=(23*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        d=(40*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        d=(50*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        d=(60*2*3.14)/196;
        x=int(xp*cos(d)+yp*sin(d));
        y=int(-xp*sin(d)+yp*cos(d));
        Pie(hdc,50,10,500,450,xp,yp,x,y);
        xp=x; yp=y;
        EndPaint(hWnd, &ps);
        break;
Ось, що мені показує програма:
Ну, ніяк не можу зрозуміти, як зробити повороти секторів. Якщо забрати всюди xp=x; yp=y;, то програма малює правильних розмірів сектори в одному місці. А якщо не забирати, то у секторів якісь дивні розміри, хоча і утворюється коло...
