Как получить камеру JavaFX на орбите объекта, подобного спутнику? - PullRequest
0 голосов
/ 23 марта 2020

В JavaFX я хочу добавить камеру, которая вращается вокруг объекта как спутник. Я хочу, чтобы орбита двигалась вдоль горизонтальной и вертикальной линии вокруг объекта. Я также хочу, чтобы камера всегда была направлена ​​на объект в центре матрицы.

В данный момент я пытаюсь перемещать камеру вдоль осей x и y, используя единичную окружность. На данный момент код выглядит следующим образом:

<code>
int r = 10;
        Slider nxSlider = new Slider(0, 360, 0);
        nxSlider.valueProperty().addListener((observable, oldvalue, newvalue) ->
        {
            double i = newvalue.doubleValue();
            camera.setTranslateX(r * Math.cos(Math.toRadians(i)));
            camera.setTranslateY(r * Math.sin(Math.toRadians(i)));
            rotateX.setAngle(Math.toDegrees(Math.cos(Math.toRadians(i))));
        });
        rotateZ.setAngle(0);
        rotateY.setAngle(0);
        rotateX.setAngle(0);
        camera.setTranslateX(r);
        camera.setTranslateZ(0);
        camera.setTranslateY(0);
</code>

Где rotateX, rotateY и rotateZ - это Transform Rotates.

Я думаю, что я довольно потерян, и у меня была эта проблема долгое время время. Мой код, вероятно, неверен, и я был бы чрезвычайно признателен, если бы кто-нибудь мог предложить идею о том, как я могу продолжать.

...