그래서 원의 원주를 따라 등 간격의 점을 플롯해야합니다. 여기에 코드가 있지만 1 점만 표시합니다. 그것은 아마 하나의 작은 일이지만 그것을 알아낼 수 없습니다. 여기에 내가 가진 무엇 : 나는 지점 (원)의 위치가 내가 증가로 변경해야한다고 가정 것원 위에 등거리 점 N 점을 지정하고 하나만 점을 지정하십시오.
import javafx.application.Application;
import javafx.scene.layout.AnchorPane;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
import javafx.geometry.Point2D;
public class jvafx extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
AnchorPane root = new AnchorPane();
Scene scene = new Scene(root, 300, 300, Color.LIGHTGREY);
Circle c = new Circle();
c.setCenterX(150.0f);
c.setCenterY(150.0f);
c.setRadius(100.0f);
c.setStroke(Color.BLACK);
c.setFill(null);
root.getChildren().add(c);
int N = 16;
Circle pt = null;
for(int i = 0; i < N; i++) {
pt = new Circle(150.0f + 100 * Math.cos(Math.PI*2*(i/N)),
150.0f + 100 * Math.sin(Math.PI*2*(i/N)), 3.0f);
pt.setFill(Color.BLACK);
root.getChildren().add(pt);
}
primaryStage.setScene(scene);
primaryStage.show();
}
}
. 어쩌면 이것이 잘못된 것일까?
코드 조각뿐만 아니라 전체 코드를 공유 할 수 있습니까? –
@ Fredlo2010 죄송합니다, 업데이트했습니다! – user7045171
좌표를 계산하는 방식이 잘못되었습니다. 항상 같은 좌표를주고 있습니다. 서로의 꼭대기에 16 개의 원을 인쇄하고 있습니다. –