Spec-Zone.ru › OpenJavaFX 8
javafx.animation

Класс Interpolator

java.lang.Object
  • javafx.animation.Interpolator


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

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

С тех пор:

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
  • Подробное описание поля

    • 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
      Встроенный экземпляр интерполятора, обеспечивающий поведение «плавный вход/выход».

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

      Реализация использует алгоритм плавного изменения, определённый в 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, кривая которого curve() формируется с помощью контрольных точек сплайна, заданных координатами (x1, y1 ) и (x2, y2). Точки якоря сплайна неявно определяются как (0.0, 0.0) и (1.0, 1.0).

      Параметры:

      x1 - координата x первой контрольной точки

      Возвращает:

      Интерполятор сплайна

    • TANGENT

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

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

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

      Параметры:

      t1 - разница во времени касательной слева, относительно ключевого кадра

      Возвращает:

      новый интерполятор касательных

    • TANGENT

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

      Параметры:

      t - разница во времени касательной

      Возвращает:

      новый интерполятор касательных

      См. также:

      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 - начальное значение

      Возвращает:

      интерполированное значение

    • interpolate

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

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

      Параметры:

      startValue - первая точка данных

    • interpolate

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

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

      Параметры:

      startValue - первая точка данных

    • interpolate

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

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

      Параметры:

      startValue - первая точка данных

    • interpolate

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

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

      Параметры:

      startValue - первая точка данных

    • 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