Spec-Zone.ru › OpenJavaFX 21

Класс Interpolator

java.lang.Object
fx.animation.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
Встроенный интерполятор, обеспечивающий линейную временную интерполяцию.

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

Interpolator()
Модификатор Конструктор Описание
protected
Конструктор 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
Встроенный экземпляр интерполятора, обеспечивающий плавное ускорение/замедление.

Интерполятор 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 после ключевого кадра, у которого другой интерполятор, он обрабатывается так, как если бы касательная справа от ключевого кадра была равна значению в ключевом кадре.

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

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

Интерполяция затем следует за кривой Безье, с двумя контрольными точками, определёнными заданной касательной и расположенными на 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