Line2D 클래스

Line2D 클래스

Line2D(x,y) 좌표 공간의 선분을 나타내요. 이 클래스는 2D 선분을 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.

출처: Java API Reference

본문

선분은 두 끝점 (x1,y1)(x2,y2)로 정의돼요. Line2DShape 인터페이스를 구현하므로 히트 테스트와 경로 반복을 지원해요.

public abstract class Line2D
extends Object
implements Shape, Cloneable

내부 클래스

  • Line2D.Float — 좌표를 float로 저장하는 구현
  • Line2D.Double — 좌표를 double로 저장하는 구현

주요 메서드

  • getX1() / getY1() / getX2() / getY2() — 선분 끝점 좌표를 반환해요.
  • setLine(...) — 선분을 설정하는 다양한 오버로드가 있어요.
  • getP1() / getP2() — 끝점 Point2D를 반환해요.
  • getBounds2D() — 선분을 감싸는 경계 사각형을 반환해요.
  • ptSegDist(...) / ptLineDist(...) — 점과 선분·직선 사이의 거리를 반환해요.
  • relativeCCW(...) — 한 점이 선의 어느 쪽에 있는지(시계·반시계) 판단해요.
  • linesIntersect(...) / intersectsLine(...) — 선분 교차 여부를 판단해요.

사용 예

Line2D line = new Line2D.Double(x1, y1, x2, y2);
Graphics2D g2d = ...;
g2d.draw(line);

ptSegDist로 점에서 선분까지의 거리를 계산해 마우스가 선 위에 있는지 판별하거나, intersectsLine으로 충돌 검사에 쓸 수 있어요.

더 알아보기