Класс Interpolator
public abstract class Interpolator extends Object
interpolate методов, которые используются для вычисления интерполированных значений. Предлагаются различные встроенные реализации этого класса. Приложения могут выбрать реализацию собственных Interpolator для получения пользовательского поведения интерполяции. Пользовательский Interpolator должен быть определен в терминах " curve()".
- С:
- JavaFX 2.0
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Interpolator |
DISCRETE |
Встроенный интерполятор, обеспечивающий дискретную временную интерполяцию. |
static final Interpolator |
EASE_BOTH |
Встроенный экземпляр интерполятора, обеспечивающий поведение плавного входа/выхода. |
static final Interpolator |
EASE_IN |
Встроенный экземпляр интерполятора, обеспечивающий поведение плавного входа. |
static final Interpolator |
EASE_OUT |
Встроенный экземпляр интерполятора, обеспечивающий поведение плавного выхода. |
static final Interpolator |
LINEAR |
Встроенный интерполятор, обеспечивающий линейную временную интерполяцию. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
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 |
TANGENT |
Создает интерполятор касательной, для которого касательные входа и выхода идентичны. |
static Interpolator |
TANGENT |
Создает интерполятор касательной. |
Подробное описание полей
ДИСКРЕТНЫЙ
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
Интерполятор 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.
Подробное описание конструкторов
Interpolator
protected Interpolator()
Interpolator.Подробное описание методов
SPLINE
public static Interpolator SPLINE(double x1, double y1, double x2, double y2)
curve() имеет форму, заданную контрольными точками сплайна (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 после ключевого кадра, у которого другой интерполятор, он обрабатывается так, как если бы касательная справа от ключевого кадра была равна значению в ключевом кадре.
Параметры определяют касательную кривой анимации для касательной слева (до ключевого кадра) и касательной справа (после ключевого кадра). Каждая касательная задаётся парой: расстоянием до ключевого кадра и значением касательной в этот момент.
Интерполяция затем следует за кривой Безье, с двумя контрольными точками, определёнными заданной касательной и расположенными на 1/3 длительности до второго ключевого кадра или после первого ключевого кадра. Смотрите рисунок выше.
- Параметры:
-
t1- временной сдвиг касательной слева, относительно ключевого кадра -
v1- значение касательной слева -
t2- временной сдвиг касательной справа, относительно ключевого кадра -
v2- значение касательной справа - Возвращает:
- новый интерполятор касательной
TANGENT
public static Interpolator TANGENT(Duration t, double v)
Timeline, потому что для этих ключевых кадров используется только одна касательная.- Параметры:
-
t- временной сдвиг касательной -
v- значение касательной - Возвращает:
- новый интерполятор касательной
- См. также:
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)
- Параметры:
-
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.