Spec-Zone.ru › OpenJavaFX 17

Класс Interpolator

java.lang.Object
javafx.animation.Interpolator
public abstract class Interpolator
extends Object
Абстрактный класс определяет несколько interpolate методов, которые используются для расчета интерполированных значений. Предлагаются различные встроенные реализации этого класса. Приложения могут выбрать реализацию собственных Interpolator для получения пользовательского поведения интерполяции.

Пользовательская Interpolator должна быть определена в терминах " curve()".

Since:
JavaFX 2.0

Краткое описание полей

Поля
Модификатор и тип Поле Описание
static Interpolator DISCRETE
Встроенный интерполятор, обеспечивающий дискретную временную интерполяцию.
static Interpolator EASE_BOTH
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение "вход/выход".
static Interpolator EASE_IN
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение "вход".
static Interpolator EASE_OUT
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение "выход".
static Interpolator LINEAR
Встроенный интерполятор, обеспечивающий линейную временную интерполяцию.

Краткое описание конструкторов

Конструкторы
Модификатор Конструктор Описание
protected Interpolator()
Конструктор Interpolator.

Краткое описание методов

Модификатор и тип Метод Описание
protected abstract double curve​(double t)
Сопоставление из [0.0..1.0] в себя.
boolean interpolate​(boolean startValue, boolean endValue, double fraction)
Этот метод принимает два boolean значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение.
double interpolate​(double startValue, double endValue, double fraction)
Этот метод принимает два double значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение.
int interpolate​(int startValue, int endValue, double fraction)
Этот метод принимает два int значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение.
long interpolate​(long startValue, long endValue, double fraction)
Этот метод принимает два int значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение.
Object interpolate​(Object startValue, Object endValue, double fraction)
Этот метод принимает два Objects вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение.
static Interpolator SPLINE​(double x1, double y1, double x2, double y2)
Создает Interpolator, форма которого curve() задаётся контрольными точками сплайна, определёнными (x1, y1 ) и (x2, y2).
static Interpolator TANGENT​(Duration t, double v)
Создаёт интерполятор касательной, для которого касательные "вход" и "выход" идентичны.
static Interpolator TANGENT​(Duration t1, double v1, Duration t2, double v2)
Создаёт интерполятор касательной.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

ДИСКРЕТНЫЙ

public static final Interpolator DISCRETE
Встроенный интерполятор, обеспечивающий дискретную временную интерполяцию. Значение, возвращаемое interpolate(), равно endValue только в том случае, если входное значение fraction равно 1.0, и startValue в противном случае.

ЛИНЕЙНЫЙ

public static final Interpolator LINEAR
Встроенный интерполятор, обеспечивающий линейную временную интерполяцию. Возвращаемое значение interpolate() равно startValue + (endValue - startValue) * fraction.

EASE_BOTH

public static final Interpolator EASE_BOTH
Встроенный экземпляр интерполятора, обеспечивающий поведение «плавное ускорение/замедление».

Интерполятор «плавное ускорение/замедление» обеспечит анимацию, начинающуюся медленно, затем ускоряющуюся и вновь замедляющуюся к концу, всё плавно.

Реализация использует алгоритм плавного ускорения/замедления, определённый в SMIL 3.0, с коэффициентом ускорения и замедления соответственно 0,2.

EASE_IN

public static final Interpolator EASE_IN
Встроенный экземпляр интерполятора, обеспечивающий поведение «плавное ускорение».

Интерполятор «плавное ускорение» обеспечит анимацию, начинающуюся медленно и затем плавно ускоряющуюся.

Реализация использует алгоритм плавного ускорения, определённый в SMIL 3.0, с коэффициентом ускорения 0,2.

EASE_OUT

public static final Interpolator EASE_OUT
Встроенный экземпляр интерполятора, обеспечивающий поведение «плавное замедление».

Интерполятор «плавное замедление» обеспечит анимацию, замедляющуюся к концу плавно.

Реализация использует алгоритм плавного замедления, определённый в SMIL 3.0, с коэффициентом замедления 0,2.

Подробное описание конструкторов

Interpolator

protected Interpolator()
Конструктор Interpolator.

Подробное описание методов

SPLINE

public static Interpolator SPLINE(double x1, double y1, double x2, double y2)
Создаёт интерполятор типа Interpolator, форма которого задаётся точками управления сплайна, определёнными координатами (x1, y1 ) и (x2, y2). Точки привязки сплайна неявно заданы координатами (0.0, 0.0) и (1.0, 1.0).
Параметры:
x1 - координата x первой точки управления
y1 - координата y первой точки управления
x2 - координата x второй точки управления
y2 - координата y второй точки управления
Возвращает:
Интерполятор сплайна

TANGENT

public static Interpolator TANGENT(Duration t1, double v1, Duration t2, double v2)
Создаёт интерполятор касательной. Интерполятор касательной позволяет очень точно определить поведение кривой анимации, задавая касательные вблизи ключевой кадра. Интерполятор касательной определяет поведение слева и справа от ключевой кадра, поэтому он полезен только внутри Timeline. Если он используется в KeyFrame после ключевого кадра с другим интерполятором, он обрабатывается так, как если бы касательная справа от этого ключевого кадра была равна значению в ключевом кадре.

A tangent interpolator
 defines the behavior to the left and to the right of a key frame,
 therefore it is only useful within a Timeline

Параметры определяют касательную кривой анимации для касательной слева (до ключевого кадра) и касательной справа (после ключевого кадра). Каждая касательная задаётся парой: расстояние до ключевого кадра и значение касательной в этот момент.

Затем интерполяция следует кривой Безье, с 2 точками управления, определёнными указанной касательной и расположенными на 1/3 от длительности до следующего ключевого кадра или после первого ключевого кадра. Смотрите изображение выше.

Параметры:
t1 - временная разность касательной слева, относительно ключевого кадра
v1 - значение касательной слева
t2 - временная разность касательной справа, относительно ключевого кадра
v2 - значение касательной справа
Возвращает:
новый интерполятор касательной

TANGENT

public static Interpolator TANGENT(Duration t, double v)
Создаёт интерполятор касательной, для которого касательные слева и справа одинаковы. Это особенно полезно для первого и последнего ключевого кадра Timeline, так как для этих ключевых кадров используется только одна касательная.
Параметры:
t - временная разность касательной
v - значение касательной
Возвращает:
новый интерполятор касательной
См. также:
TANGENT(Duration, double, Duration, double)

interpolate

public Object interpolate(Object startValue, Object endValue, double fraction)
Этот метод принимает два Objects, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение.

Если оба Objects реализуют Number, их значения интерполируются. Если startValue реализует Interpolatable, используется вычисление, определённое в interpolate(). Если ни одно из этих условий не выполняется, используется дискретная интерполяция, то есть endValue возвращается только в том случае, если fraction равно 1.0, в противном случае возвращается startValue.

Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().

Параметры:
startValue - начальное значение
endValue - конечное значение
fraction - значение между 0.0 и 1.0
Возвращает:
интерполированное значение

interpolate

public boolean interpolate(boolean startValue, boolean endValue, double fraction)
Этот метод принимает два значения boolean, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение.

Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().

Параметры:
startValue - первая точка данных
endValue - вторая точка данных
fraction - дробь в [0.0...1.0]
Возвращает:
интерполированное значение

interpolate

public double interpolate(double startValue, double endValue, double fraction)
Этот метод принимает два значения double, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение.

Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().

Параметры:
startValue - первая точка данных
endValue - вторая точка данных
fraction - дробь в [0.0...1.0]
Возвращает:
интерполированное значение

interpolate

public int interpolate(int startValue, int endValue, double fraction)
Этот метод принимает два значения int, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение.

Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().

Параметры:
startValue - первая точка данных
endValue - вторая точка данных
fraction - дробь в [0.0...1.0]
Возвращает:
интерполированное значение

interpolate

public long interpolate(long startValue, long endValue, double fraction)
Этот метод принимает два значения int, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение.

Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().

Параметры:
startValue - первая точка данных
endValue - вторая точка данных
fraction - дробь в [0.0...1.0]
Возвращает:
интерполированное значение

curve

protected abstract double curve(double t)
Картирование из [0.0..1.0] в себя.
Параметры:
t - время, но нормализованное к диапазону [0.0..1.0], где 0.0 — начало текущего интервала, а 1.0 — конец текущего интервала. Обычно функция, монотонно возрастающая.
Возвращает:
изменённое значение

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API