Witam i pozdrawiam. Chciałbym stworzyc cos na wzór układu słonecznego. na razie cos prostego, dodajac Słoncze Ziemie i Ksieżyc.
Ziemi i ksieżycowi tworze elipse. Pozniej z elipsy robocie scięzke po ktróej ma sie ruszac. I problem w tym ze Ziemie dobrze krązy wokol słónca, gorzej z ksiezycem który nie chce krazyc dookola ziemi tylko robi to dookoła slonca. A jak sie odpali kod to widac ze elipsa dla księzyca porusza sie tak jak powinna razem z ziemia ; /

public class Mojuklad extends Application {
    public Sphere ziemia;
    public Sphere ksiezyc;
    @Override
    public void start(Stage primaryStage) {
//        Button btn = new Button();
//        btn.setText("Say 'Hello World'");
//        btn.setOnAction(new EventHandler<ActionEvent>() {
//            
//            @Override
//            public void handle(ActionEvent event) {
//                System.out.println("Hello World!");
//            }
//        });
        Sphere star=new Sphere(45);
         ziemia=new Sphere(45);
           ksiezyc=new Sphere(25);
          
        Ellipse ellipseZiemia = new Ellipse();
        ellipseZiemia.setCenterX(star.getTranslateX());
        ellipseZiemia.setCenterY(star.getTranslateY());
        ellipseZiemia.translateXProperty().bind(star.translateXProperty());
        ellipseZiemia.translateYProperty().bind(star.translateYProperty());
        ellipseZiemia.setRadiusX(star.getBoundsInLocal().getWidth() / 2.0 +
                1.01671388 * 70);
        ellipseZiemia.setRadiusY(star.getBoundsInLocal().getHeight() / 2.0 +
                0.98329134 * 70);
        
        PathTransition transitionZiemia = new PathTransition();
        transitionZiemia.setPath(ellipseZiemia);
        transitionZiemia.setNode(ziemia);
        transitionZiemia.setInterpolator(Interpolator.LINEAR);
        transitionZiemia.setDuration(Duration.seconds(10.000017421));
        transitionZiemia.setOrientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT);
        transitionZiemia.setCycleCount(Timeline.INDEFINITE);
        
        transitionZiemia.play();
        
        
          Ellipse ellipseKsiezyc = new Ellipse();
        ellipseKsiezyc.setCenterX(ziemia.getTranslateX());
        ellipseKsiezyc.setCenterY(ziemia.getTranslateY());
        ellipseKsiezyc.translateXProperty().bind(ziemia.translateXProperty());
        ellipseKsiezyc.translateYProperty().bind(ziemia.translateYProperty());
        ellipseKsiezyc.setRadiusX(ziemia.getBoundsInLocal().getWidth() / 2.0 +
                1.01671388 * 70);
        ellipseKsiezyc.setRadiusY(ziemia.getBoundsInLocal().getHeight() / 2.0 +
                0.98329134 * 70);
       // ellipse.setStrokeWidth(5);
        
        PathTransition transitionKsiezyc = new PathTransition();
        transitionKsiezyc.setPath(ellipseKsiezyc);
        transitionKsiezyc.setNode(ksiezyc);
        transitionKsiezyc.setInterpolator(Interpolator.LINEAR);
        transitionKsiezyc.setDuration(Duration.seconds(1.000017421));
        transitionKsiezyc.setOrientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT);
        transitionKsiezyc.setCycleCount(Timeline.INDEFINITE);
        transitionKsiezyc.play();
        
        
        StackPane root = new StackPane();
        
        root.getChildren().add(star);
        
        root.getChildren().add(ellipseKsiezyc);
        root.getChildren().add(ellipseZiemia);
        root.getChildren().add(ziemia);

        root.getChildren().add(ksiezyc);
        Scene scene = new Scene(root, 800, 600);
        
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
    
}

Tuta cały kod, nie jest go duzo ale jest w nim zawarte wszystko co potrzebuje, tylko ze z tym wlasnie małym problemikiem :)
czy móglby mi ktos pomóc, wytlumaczyc jak to ogarnac?