Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JavaFX로 3차 곡선(CubicCurve) 그리는 방법 완벽 가이드

3차 곡선(cubic curve)은 두 변수에 대한 삼차 다항식으로 표현되는 곡선입니다. JavaFX에서는 javafx.scene.shape.CubicCurve 클래스를 사용해 손쉽게 3차 곡선을 그릴 수 있으며, 이 클래스에는 곡선의 형태를 결정하는 여덟 가지 핵심 속성이 있습니다.

CubicCurve 클래스의 주요 속성

  • startX – 곡선 시작점의 x 좌표입니다. setStartX() 메서드로 값을 설정할 수 있습니다.

  • startY – 곡선 시작점의 y 좌표입니다. setStartY() 메서드로 값을 설정할 수 있습니다.

  • controlX1 – 첫 번째 제어점의 x 좌표입니다. setControlX1() 메서드로 설정합니다.

  • controlY1 – 첫 번째 제어점의 y 좌표입니다. setControlY1() 메서드로 설정합니다.

  • controlX2 – 두 번째 제어점의 x 좌표입니다. setControlX2() 메서드로 설정합니다.

  • controlY2 – 두 번째 제어점의 y 좌표입니다. setControlY2() 메서드로 설정합니다.

  • endX – 곡선 끝점의 x 좌표입니다. setEndX() 메서드로 설정합니다.

  • endY – 곡선 끝점의 y 좌표입니다. setEndY() 메서드로 설정합니다.

여기서 두 개의 제어점(control point)은 곡선이 휘어지는 방향과 정도를 결정하는 역할을 하며, 시작점과 끝점 사이를 부드럽게 연결하는 형태를 만들어 줍니다.

3차 곡선을 그리는 단계

  1. CubicCurve 클래스의 인스턴스를 생성합니다.

  2. setter 메서드를 사용하거나 생성자에 값을 직접 전달하여 필요한 속성들을 설정합니다.

  3. 생성된 노드(도형)를 Group 객체에 추가합니다.

예제 코드

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.CubicCurve;
public class DrawingCubicCurve extends Application {
    @Override
    public void start(Stage stage) {
        //3차 곡선 그리기
        CubicCurve cubicCurve = new CubicCurve();
        //곡선의 속성 설정
        cubicCurve.setStartX(75.0f);
        cubicCurve.setStartY(75.0f);
        cubicCurve.setControlX2(250.0f);
        cubicCurve.setControlY2(250.0f);
        cubicCurve.setControlX1(400.0f);
        cubicCurve.setControlY1(40.0f);
        cubicCurve.setEndX(500.0f);
        cubicCurve.setEndY(260.0f);
        //기타 속성 설정
        cubicCurve.setFill(Color.CHOCOLATE);
        cubicCurve.setStrokeWidth(8.0);
        cubicCurve.setStroke(Color.BROWN);
        //Scene 객체 설정
        Group root = new Group(cubicCurve);
        Scene scene = new Scene(root, 600, 300);
        stage.setTitle("Drawing a cubic curve");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]){
        launch(args);
    }
}

위 예제에서는 시작점을 (75, 75), 끝점을 (500, 260)으로 지정하고, 두 제어점 (400, 40)과 (250, 250)을 통해 곡선의 굴곡 방향을 조절했습니다. 또한 setFill(), setStroke(), setStrokeWidth() 메서드를 활용해 곡선 내부 색상과 테두리 스타일을 지정할 수 있습니다.

실행 결과

JavaFX로 3차 곡선(CubicCurve) 그리는 방법 완벽 가이드

코드를 실행하면 위와 같이 초콜릿색으로 채워진 부드러운 3차 곡선이 화면에 나타납니다. 제어점의 좌표값을 변경하면 곡선의 모양이 어떻게 달라지는지 직접 확인해 보시기 바랍니다.