Тема: Секторна діаграма
Дуже потрібна допомога.
Завдання: Намалювати секторну діаграму, де значення 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;, то програма малює правильних розмірів сектори в одному місці. А якщо не забирати, то у секторів якісь дивні розміри, хоча і утворюється коло...