Đường cong bậc hai là một đường cong tham số Bezier trong mặt phẳng XY bậc 2.
Trong JavaFX, đường cong bậc hai được biểu diễn bởi lớp javafx.scene.shape.QuadCurve. Nó tương tự như CubicCurve nhưng thay vì 2 điểm điều khiển, nó được vẽ bằng một điểm điều khiển.
Lớp này chứa 6 thuộc tính:
- startX - Tọa độ x của điểm bắt đầu. Đặt giá trị bằng setStartX().
- startY - Tọa độ y của điểm bắt đầu. Đặt giá trị bằng setStartY().
- controlX - Tọa độ x của điểm điều khiển. Đặt giá trị bằng setControlX().
- controlY - Tọa độ y của điểm điều khiển. Đặt giá trị bằng setControlY().
- endX - Tọa độ x của điểm kết thúc. Đặt giá trị bằng setEndX().
- endY - Tọa độ y của điểm kết thúc. Đặt giá trị bằng setEndY().
Để tạo đường cong, bạn cần:
- Khởi tạo lớp này.
- Thiết lập các thuộc tính yêu cầu bằng setter hoặc truyền vào constructor.
- Thêm nút (hình dạng) đã tạo vào đối tượng Group.
Ví dụ
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.QuadCurve;
public class DrawingQuadCurve extends Application {
@Override
public void start(Stage stage) {
// Vẽ đường cong bậc hai
QuadCurve quadraticCurve = new QuadCurve();
// Thiết lập thuộc tính
quadraticCurve.setStartX(75.0f);
quadraticCurve.setStartY(75.0f);
quadraticCurve.setControlX(250.0f);
quadraticCurve.setControlY(250.0f);
quadraticCurve.setEndX(500.0f);
quadraticCurve.setEndY(260.0f);
// Thiết lập các thuộc tính khác
quadraticCurve.setFill(Color.CHOCOLATE);
quadraticCurve.setStrokeWidth(8.0);
quadraticCurve.setStroke(Color.BROWN);
// Thiết lập Scene
Group root = new Group(quadraticCurve);
Scene scene = new Scene(root, 595, 300);
stage.setTitle("Drawing a quadratic curve");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Kết quả
