Класс Interpolator
public abstract class Interpolator extends Object
interpolate методов, которые используются для расчёта интерполированных значений. Предлагаются различные встроенные реализации этого класса. Приложения могут выбрать реализацию собственного Interpolator для получения пользовательского поведения интерполяции. Пользовательский Interpolator должен быть определён в терминах " curve()".
- С момента:
- JavaFX 2.0
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
Interpolator.StepPosition |
Указывает положение шага интерполятора. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Interpolator |
DISCRETE |
Встроенный интерполятор, предоставляющий дискретную временную интерполяцию. |
static final Interpolator |
EASE_BOTH |
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение входа/выхода. |
static final Interpolator |
EASE_IN |
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение входа. |
static final Interpolator |
EASE_OUT |
Встроенный экземпляр интерполятора, обеспечивающий плавное поведение выхода. |
static final Interpolator |
LINEAR |
Встроенный интерполятор, обеспечивающий линейную временную интерполяцию. |
static final Interpolator |
STEP_END |
Встроенный экземпляр интерполятора, эквивалентный STEPS(1, StepPosition.END). |
static final Interpolator |
STEP_START |
Встроенный экземпляр интерполятора, эквивалентный STEPS(1, StepPosition.START). |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор Interpolator. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract double |
curve |
Сопоставление из [0.0..1.0] в себя. |
boolean |
interpolate |
Этот метод принимает два boolean значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение. |
double |
interpolate |
Этот метод принимает два double значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение. |
int |
interpolate |
Этот метод принимает два int значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение. |
long |
interpolate |
Этот метод принимает два int значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение. |
Object |
interpolate |
Этот метод принимает два Objects значения вместе с fraction между 0.0 и 1.0 и возвращает интерполированное значение. |
static Interpolator |
SPLINE |
Создаёт Interpolator, который curve() имеет форму, используя точки управления сплайна, определённые (x1, y1 ) и (x2, y2). |
static Interpolator |
STEPS |
Создаёт интерполятор шагом, который делит входное время на ряд интервалов, каждый интервал имеет одинаковую длину, где каждый интервал отображается на постоянное выходное значение времени. |
static Interpolator |
TANGENT |
Создаёт интерполятор касательной, для которого касательная входа и касательная выхода идентичны. |
static Interpolator |
TANGENT |
Создаёт интерполятор касательной. |
Подробное описание полей
DISCRETE
public static final Interpolator DISCRETE
interpolate(), равно endValue только в том случае, если входной параметр fraction равен 1.0, и startValue в противном случае.LINEAR
public static final Interpolator LINEAR
interpolate(), равно startValue + (endValue - startValue) * fraction.EASE_BOTH
public static final Interpolator EASE_BOTH
Интерполятор ease-both обеспечивает анимацию, которая начинает движение медленно, затем ускоряется и снова замедляется к концу, плавно.
Реализация использует алгоритм плавного ускорения/замедления, определённый в SMIL 3.0, с коэффициентом ускорения и замедления 0.2 соответственно.
EASE_IN
public static final Interpolator EASE_IN
Интерполятор ease-in обеспечивает анимацию, которая начинает движение медленно, а затем плавно ускоряется.
Реализация использует алгоритм плавного ускорения, определённый в SMIL 3.0, с коэффициентом ускорения 0.2.
EASE_OUT
public static final Interpolator EASE_OUT
Интерполятор ease-out обеспечивает анимацию, которая плавно замедляется к концу.
Реализация использует алгоритм плавного замедления, определённый в SMIL 3.0, с коэффициентом замедления 0.2.
STEP_START
public static final Interpolator STEP_START
STEPS(1, StepPosition.START).- Since:
- 23
STEP_END
public static final Interpolator STEP_END
STEPS(1, StepPosition.END).- Since:
- 23
Подробное описание конструкторов
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).- Parameters:
-
x1- координата x первой контрольной точки -
y1- координата y первой контрольной точки -
x2- координата x второй контрольной точки -
y2- координата y второй контрольной точки - Returns:
- Интерполятор сплайна
TANGENT
public static Interpolator TANGENT(Duration t1, double v1, Duration t2, double v2)
Timeline. Если используется в KeyFrame после KeyFrame, имеющего другой интерполятор, он обрабатывается так, как будто касательная справа от этой KeyFrame равна значению в KeyFrame.
Параметры определяют касательную кривой анимации для касательной слева (до ключевой кадровой точки) и касательной справа (после ключевой кадровой точки). Каждая касательная задаётся парой: расстояние до ключевой кадровой точки и значение касательной в этот момент.
Затем интерполяция следует кривой Безье с двумя контрольными точками, определёнными заданной касательной и расположенными на расстоянии 1/3 от длительности до второй KeyFrame или после первой KeyFrame. Смотрите изображение выше.
- Parameters:
-
t1- Время касательной слева, относительно ключевой кадровой точки -
v1- Значение касательной слева -
t2- Время касательной справа, относительно ключевой кадровой точки -
v2- Значение касательной справа - Returns:
- новый интерполятор касательных
TANGENT
public static Interpolator TANGENT(Duration t, double v)
Timeline, поскольку для этих ключевых кадровых точек используется только одна касательная.- Parameters:
-
t- Время касательной -
v- Значение касательной - Returns:
- новый интерполятор касательных
- See Also:
STEPS
public static Interpolator STEPS(int intervalCount, Interpolator.StepPosition position)
Interpolator.StepPosition.- Parameters:
-
intervalCount- количество интервалов в интерполяторе ступенчатой формы -
position-StepPositionинтерполятора ступенчатой формы - Returns:
- новый интерполятор ступенчатой формы
- Throws:
-
IllegalArgumentException- еслиintervalsменьше 1, или еслиintervalsменьше 2, когдаpositionявляетсяInterpolator.StepPosition.NONE -
NullPointerException- еслиpositionравноnull - Since:
- 23
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().
- Parameters:
-
startValue- начальное значение -
endValue- конечное значение -
fraction- значение между 0.0 и 1.0 - Returns:
- интерполированное значение
interpolate
public boolean interpolate(boolean startValue, boolean endValue, double fraction)
boolean значения, а также fraction между 0.0 и 1.0, и возвращает интерполированное значение. Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().
- Parameters:
-
startValue- первая точка данных -
endValue- вторая точка данных -
fraction- дробь в[0.0...1.0] - Returns:
- интерполированное значение
interpolate
public double interpolate(double startValue, double endValue, double fraction)
double значения, а также fraction между 0.0 и 1.0 и возвращает интерполированное значение. Перед вычислением интерполированного значения дробь изменяется в соответствии с функцией, определённой в curve().
- Parameters:
-
startValue- первая точка данных -
endValue- вторая точка данных -
fraction- дробь в[0.0...1.0] - Returns:
- интерполированное значение
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)
- Параметры:
-
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.