Line2D 클래스
Line2D 클래스
이 Line2D는 (x,y) 좌표 공간의 선분을 나타내요. 이 클래스는 2D 선분을 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.
본문
선분은 두 끝점 (x1,y1)과 (x2,y2)로 정의돼요. Line2D는 Shape 인터페이스를 구현하므로 히트 테스트와 경로 반복을 지원해요.
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으로 충돌 검사에 쓸 수 있어요.