Обычно я просто использую setRotate(double value) и getRotate() при повороте прямоугольника из его центра. Предположим, что прямоугольник обращен на север, если getRotate() равен 0, и я пытаюсь получить его направление, я просто получаю отрицательное значение getRotate() и получаю его остаток от 360 (если он отрицательный, я добавляю 360). Это означает, что угол 0 градусов направлен на север, и поворот его по часовой стрелке на градус дает 359 градусов (аналогично, поворот его против часовой стрелки на градус дает 1 градус).
public double angle(){
double angle = -rectangle.getRotate();
if(angle<0){ angle += 360; }
return angle%360;
}
Однако моя проблема сейчас в том, что мне нужно повернуть прямоугольник не от его центра, а от точки поворота. Я больше не могу использовать setRotate(двойное значение) и getRotate(), поэтому мне нужно использовать getTransforms().add(new Rotate(двойной угол, двойной поворотX, двойной поворотY)).
Теперь моя проблема в том, что я хочу знать угол направления, в котором обращен прямоугольник, но я больше не могу использовать getRotate(). И даже если я использую getAngle() из Rotate, я все еще не знаю, как получить направление, в котором он обращен, потому что он не был повернут от центра.