В 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.
Я думаю, что я довольно потерян, и у меня была эта проблема долгое время время. Мой код, вероятно, неверен, и я был бы чрезвычайно признателен, если бы кто-нибудь мог предложить идею о том, как я могу продолжать.