QuadCurve2D 클래스

QuadCurve2D 클래스

QuadCurve2D 클래스는 (x,y) 좌표 공간에서 2차 매개변수 곡선 세그먼트를 정의해요. 이 클래스는 2D 2차 곡선 세그먼트를 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.

출처: Java API Reference

본문

2차 베지어 곡선은 시작점, 제어점 하나, 끝점이라는 세 개의 점으로 정의돼요. CubicCurve2D(제어점 두 개)보다 단순한 곡선이며, 부드러운 곡선이 필요할 때 흔히 사용돼요.

public abstract class QuadCurve2D
extends Object
implements Shape, Cloneable

내부 클래스

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

주요 메서드

  • getX1() / getY1() — 시작점 좌표를 반환해요.
  • getCtrlX() / getCtrlY() — 제어점 좌표를 반환해요.
  • getX2() / getY2() — 끝점 좌표를 반환해요.
  • setCurve(...) — 곡선을 설정하는 여러 오버로드가 있어요.
  • getBounds2D() — 경계 사각형을 반환해요.
  • contains(...) — 히트 테스트.
  • getPathIterator(AffineTransform) — 경로 반복자.

사용 예

QuadCurve2D curve = new QuadCurve2D.Double();
curve.setCurve(x1, y1, ctrlx, ctrly, x2, y2);
Graphics2D g2d = ...;
g2d.draw(curve);

제어점이 곡선의 중간 모양을 결정하므로, 한 점만 조절해 곡선을 휘게 만들 수 있는 단순한 인터랙티브 곡선 UI에 유용해요.

더 알아보기