CubicCurve2D 클래스
CubicCurve2D 클래스
CubicCurve2D 클래스는 (x,y) 좌표 공간에서 3차 매개변수 곡선 세그먼트를 정의해요. 이 클래스는 2D 3차 곡선 세그먼트를 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.
본문
3차 베지어 곡선은 시작점, 두 개의 제어점, 끝점이라는 네 개의 점으로 정의돼요. 이 곡선은 부드러운 곡선을 만들기 위해 도형, 폰트 곡선, 애니메이션 경로 등에 널리 사용돼요.
public abstract class CubicCurve2D
extends Object
implements Shape, Cloneable
내부 클래스
CubicCurve2D.Float— 좌표를float로 저장하는 구현CubicCurve2D.Double— 좌표를double로 저장하는 구현
주요 메서드
getX1()/getY1()— 시작점 좌표를 반환해요.getCtrlX1()/getCtrlY1()— 첫 제어점 좌표를 반환해요.getCtrlX2()/getCtrlY2()— 둘째 제어점 좌표를 반환해요.getX2()/getY2()— 끝점 좌표를 반환해요.setCurve(...)— 곡선을 설정하는 다양한 오버로드가 있어요.getBounds2D()— 곡선을 감싸는 경계 사각형을 반환해요.contains(...)— 히트 테스트.getPathIterator(AffineTransform)— 경로 반복자.
사용 예
CubicCurve2D curve = new CubicCurve2D.Double();
curve.setCurve(x1, y1, ctrlx1, ctrly1, ctrlx2, ctrly2, x2, y2);
Graphics2D g2d = ...;
g2d.draw(curve);
제어점을 움직이면 곡선의 모양이 매끄럽게 변하기 때문에, 인터랙티브한 곡선 편집 도구에 많이 사용해요.