JAVA регулярное рисование многоугольников - PullRequest
0 голосов
/ 19 марта 2019

предполагается рисовать правильные многоугольники, используя выражение:

xk = R * cos((π/2 + 2*π*k) /N); 
yk = R * sin((π/2 + 2*π*k) /N) 

(N - number of angles, R - Circumscribed circle radius, 0 < k < N).

Здесь я положил N = 4. Не знаю, что не так, но он рисует только прямые линии. Пожалуйста, пришлите помощь!

double piDrugich = 3.14/2;
double dwaPi = 6.28;

drawing(){
x = new int[4];
y = new int[4];

for(int i=0; i<4; i++) {
        x[i] =300+R*(int)Math.cos((piDrugich + dwaPi*i)/4);
    }
    for(int i=0; i<4; i++) {
        y[i] =150+R*(int)Math.sin((piDrugich + dwaPi*i)/4);
    }
}

public void paintComponent(Graphics g) {

    super.paintComponent(g);
    P = new Polygon(x, y, 4);   
    g.drawPolygon(P);
}
...