버튼이있는 데모 클래스가 있고 사용자가 다각형이라고 불리는 버튼을 클릭하면 다각형이 그려진 지점에서부터 그려집니다. 코드가 도면에서 잘 작동합니다. 불행히도 다각형을 잘못된 위치에 그립니다.5 점 다각형의 점을 계산하는 방법
PolygonShape 클래스
class PolygonShape {
int x, y;
private Polygon p;
public PolygonShape(int x, int y) {
// the x, y sent to this constructor
//are the cordinates of the point where the user clicked
this.x = x;
this.y = y;
}
public void draw(Graphics g) {
p = new Polygon();
for (int i = 0; i < 5; i++)
p.addPoint((int) (x + y * Math.cos(i * 2 * Math.PI/5)),
(int) (x + y * Math.sin(i * 2 * Math.PI/5)));
g.drawPolygon(p);
}
}
다각형을 그리거나 다각형이 잘못된 장소에 있다는 것을 의미합니까? –
다각형을 잘못된 위치에 그립니다. – name
그리기 방법의 p.addPoint 매개 변수가 정말 이상하게 보입니다. x와 y 모두 변수 x + (y * random)를 취합니다. 나는 그게 무슨 뜻인지 완전히 모르겠지만, 그것이 맞는지 확신합니까? –