Светлый фон

Эти анимации мы собираем в параллельную анимацию.

Далее мы создаем анимацию по ключевым кадрам перемещения источника света и запускаем все наши анимации.

 

 

Пакет scene.transform платформы JavaFX обеспечивает трансформации узлов графа сцены, состоящие из аффинных преобразований: вращений, перемещений, масштабирования и сдвига.

 

 

Аффи́нное преобразование (соприкасающееся, близкое, смежное) – это отображение плоскости или пространства в себя, при котором параллельные прямые переходят в параллельные прямые, пересекающиеся – в пересекающиеся, скрещивающиеся – в скрещивающиеся.

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

Базовым классом JavaFX-трансформаций является класс Transform, имеющий реализации в виде классов Affine, Rotate, Scale, Shear и Translate.

Применить JavaFX-трансформации к узлу графа сцены можно двумя способами.

Первый способ – это использовать метод getTransforms класса Node, возвращающий список ObservableList объектов Transform, заполнить который можно методом addAll.

Другой способ – это применение методов setRotate, setRotationAxis, setScale_, setTranslate_ класса Node, обеспечивающих трансформации вращения, масштабирования и перемещения для узла графа сцены.

Класс Affine представляет аффинные преобразования матрицы с помощью свойств – множители матрицы, и сдвиги по оси.

 

 

Аффинные преобразования отображают n-мерный объект в n-мерный, сохраняют параллельность линий и плоскостей и сохраняют пропорции параллельных объектов.

С помощью аффинных преобразований можно создавать трансформации вращения, перемещения, масштабирования и сдвига.

Класс Rotate обеспечивает вращение узла графа сцены с помощью свойств angle (угол вращения), pivotX (горизонтальная координата опорной точки вращения), pivotY (вертикальная координата опорной точки вращения), pivotZ (Z-координата опорной точки вращения).