円の円周に沿って等間隔の点をプロットする必要があります。私はここにコードを持っていますが、それは1点しかプロットしません。おそらくちょっとしたことですが、私はそれを理解できません。ここに私が持っているものがあります:円上の等距離点をN点にプロットすると、1点しか与えません。
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の円を印刷しています。 –