- java.lang.Object
-
- javafx.animation.Interpolator
-
public abstract class Interpolator extends Object
Абстрактный класс определяет несколько методов, используемых для вычисления интерполированных значений. Предлагаются различные встроенные реализации этого класса. Приложения могут выбрать реализацию собственного класса, чтобы получить пользовательское поведение интерполяции.Пользовательский класс должен быть определён в терминах " кривой".
- С:
- JavaFX 2.0
-
Краткое описание полей
Поля Модификатор и тип Поле Описание static InterpolatorDISCRETEВстроенный интерполятор, предоставляющий дискретную временную интерполяцию.static InterpolatorEASE_BOTHВстроенный интерполятор, обеспечивающий поведение «плавное ускорение/замедление».static InterpolatorEASE_INВстроенный интерполятор, обеспечивающий поведение «плавное ускорение».static InterpolatorEASE_OUTВстроенный интерполятор, обеспечивающий поведение «плавное замедление».static InterpolatorLINEARВстроенный интерполятор, предоставляющий линейную временную интерполяцию.
-
Краткое описание конструкторов
Конструкторы Модификатор Конструктор Описание protectedInterpolator()КонструкторInterpolator.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляраАбстрактные методыКонкретные методы Модификатор и тип Метод Описание protected abstract doublecurve(double t)Преобразование из [0.0..1.0] в себя.booleaninterpolate(boolean startValue, boolean endValue, double fraction)Этот метод принимает два значения наряду с значением от0.0до1.0и возвращает интерполированное значение.doubleinterpolate(double startValue, double endValue, double fraction)Этот метод принимает два значения наряду с значением от0.0до1.0и возвращает интерполированное значение.intinterpolate(int startValue, int endValue, double fraction)Этот метод принимает два значения наряду с значением от0.0до1.0и возвращает интерполированное значение.longinterpolate(long startValue, long endValue, double fraction)Этот метод принимает два значения наряду с значением от0.0до1.0и возвращает интерполированное значение.Objectinterpolate(Object startValue, Object endValue, double fraction)Этот метод принимает два значения наряду с значением от0.0до1.0и возвращает интерполированное значение.static InterpolatorSPLINE(double x1, double y1, double x2, double y2)Создаёт интерполятор, форма которого определяется с помощью контрольных точек сплайна, определённых как (x1,y1) и (x2,y2).static InterpolatorTANGENT(Duration t, double v)Создаёт интерполятор с одинаковыми касательными в начале и конце.static InterpolatorTANGENT(Duration t1, double v1, Duration t2, double v2)Создаёт интерполятор с касательными.
-
Краткое описание полей
-
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 in/out.Интерполятор ease-both заставит анимацию начинаться медленно, затем ускоряться и снова замедляться к концу, и все это плавно.
В реализации используется алгоритм для смягчения, определенный в SMIL 3.0 с коэффициентом ускорения и замедления 0,2 соответственно.
-
EASE_IN
public static final Interpolator EASE_IN
Встроенный экземпляр интерполятора, обеспечивающий поведение ease in.Интерполятор ease-in заставит анимацию начинаться медленно, а затем плавно ускоряться.
В реализации используется алгоритм для смягчения, определенный в SMIL 3.0 с коэффициентом ускорения 0,2.
-
EASE_OUT
public static final Interpolator EASE_OUT
Встроенный экземпляр интерполятора, обеспечивающий поведение 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)
СоздаетInterpolator, который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после KeyFrame, который имеет другой интерполятор, он обрабатывается так, как если бы исходящая касательная этого KeyFrame была равна значению в KeyFrame.Параметры определяют касательную кривой анимации для входящей касательной (перед ключевым кадром) и исходящей касательной (после ключевого кадра). Касательная задается парой: расстояние до ключевого кадра и значение касательной в этот момент.
Затем интерполяция следует кривой Безье с 2 контрольными точками, определяемыми указанной касательной и расположенными на 1/3 продолжительности до второго KeyFrame или после первого KeyFrame. См. рисунок выше.
- Параметры:
-
t1- Время дельта входящей касательной относительно KeyFrame -
v1- Значение входящей касательной -
t2- Время дельта исходящей касательной относительно KeyFrame -
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.