Polygon — 다각형

Polygon — 다각형

Polygon 클래스는 좌표 공간 내 닫힌 2차원 영역을 설명하는 것을 캡슐화해요. 이 영역은 각각 다각형의 한 변이 되는 임의 개수의 선분으로 둘러싸여 있어요.

출처: Java API Reference

본문

public class Polygon extends Object implements Shape, Serializable

내부적으로 다각형은 (x,y) 좌표 쌍 목록으로 구성돼요. 각 쌍은 다각형의 꼭짓점을 정의하고, 연속하는 두 쌍은 다각형의 한 변인 선분의 끝점이에요. 첫 쌍과 마지막 쌍은 선분으로 이어져 다각형을 닫아요. 이 Polygon은 짝수-홀수(even-odd) 와인딩 규칙으로 정의돼요.

필드

  • npoints — 총 점(꼭짓점) 수예요. 유효한 점 수를 나타내요.
  • xpoints — X 좌표 배열이에요. 이 배열의 원소 수는 총점보다 많을 수 있어요.
  • ypoints — Y 좌표 배열이에요.

생성자

  • Polygon() — 빈 다각형을 만들어요.
  • Polygon(int[] xpoints, int[] ypoints, int npoints) — 지정한 좌표로 다각형을 만들어요.

주요 메서드

  • addPoint(int x, int y) — 다각형에 점을 추가해요.
  • getBounds() — 이 다각형을 포함하는 정수 Rectangle을 반환해요.
  • contains(int x, int y) — 지정한 좌표가 다각형 내부에 있는지 검사해요.
  • contains(Point p) / intersects(Rectangle r) — 내부·교차 검사 메서드예요.
  • translate(int deltaX, int deltaY) — 다각형의 모든 점을 이동시켜요.

이 클래스의 히트 테스트 메서드(contains, intersects, inside)는 Shape 클래스에 정의된 내부성 정의를 사용해요.

더 알아보기