モジュール javafx.graphics
パッケージ 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のコンストラクタ。
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      protected abstract double curve​(double t)
      [0.0..1.0]からそれ自体までのマッピング。
      boolean interpolate​(boolean startValue, boolean endValue, double fraction)
      このメソッドに2つのboolean値と0.0から1.0までのfractionを渡すと、補間された値が返されます。
      double interpolate​(double startValue, double endValue, double fraction)
      このメソッドに2つのdouble値と0.0から1.0までのfractionを渡すと、補間された値が返されます。
      int interpolate​(int startValue, int endValue, double fraction)
      このメソッドに2つのint値と0.0から1.0までのfractionを渡すと、補間された値が返されます。
      long interpolate​(long startValue, long endValue, double fraction)
      このメソッドに2つのint値と0.0から1.0までのfractionを渡すと、補間された値が返されます。
      Object interpolate​(Object startValue, Object endValue, double fraction)
      このメソッドに2つのObjects0.0から1.0までのfractionを渡すと、補間された値が返されます。
      static Interpolator SPLINE​(double x1, double y1, double x2, double y2)
      (x1, y1)および(x2, y2)によって定義されるスプライン・コントロール・ポイントを使用してcurve()を形成するInterpolatorを作成します。
      static Interpolator TANGENT​(Duration t, double v)
      インタンジェントとアウトタンジェントが同一のタンジェント補間を作成します。
      static Interpolator TANGENT​(Duration t1, double v1, Duration t2, double v2)
      タンジェント補間を作成します。
    • フィールドの詳細

      • DISCRETE

        public static final Interpolator DISCRETE
        離散時間補間を行う組込み補間。 interpolate()の戻り値は、入力fractionが1.0の場合にのみendValueになり、それ以外の場合はstartValueになります。
      • LINEAR

        public static final Interpolator LINEAR
        線形時間補間を行う組込み補間。 interpolate()の戻り値は、startValue + (endValue - startValue) * fractionになります。
      • EASE_BOTH

        public static final Interpolator EASE_BOTH
        イーズイン/イーズアウト動作を行う組込み補間インスタンス。

        イーズボース補間では、アニメーションを低速で開始し、速度を上げ、終了に近づくにつれて減速するというすべての処理を滑らかに行います。

        実装では、加速係数と減速係数をそれぞれ0.2として、SMIL 3.0に定義されたイージングのアルゴリズムを使用しています。

      • EASE_IN

        public static final Interpolator EASE_IN
        イーズイン動作を行う組込み補間インスタンス。

        イーズイン補間では、アニメーションを低速で開始し、滑らかに速度を上げます。

        実装では、加速係数を0.2として、SMIL 3.0に定義されたイージングのアルゴリズムを使用しています。

      • EASE_OUT

        public static final Interpolator EASE_OUT
        イーズアウト動作を行う組込み補間インスタンス。

        イーズアウト補間では、アニメーションを終了に近づくにつれて滑らかに減速します。

        実装では、減速係数を0.2として、SMIL 3.0に定義されたイージングのアルゴリズムを使用しています。

    • コンストラクタの詳細

      • Interpolator

        protected Interpolator​()
        Interpolatorのコンストラクタ。
    • メソッドの詳細

      • SPLINE

        public static Interpolator SPLINE​(double x1,
                                          double y1,
                                          double x2,
                                          double y2)
        (x1, y1)および(x2, y2)によって定義されるスプライン・コントロール・ポイントを使用してcurve()を形成するInterpolatorを作成します。 スプラインのアンカー・ポイントは、(0.0, 0.0)および(1.0, 1.0)と暗黙的に定義されています。
        パラメータ:
        x1 - 1つ目のコントロール・ポイントのx座標
        y1 - 1つ目のコントロール・ポイントのy座標
        x2 - 2つ目のコントロール・ポイントのx座標
        y2 - 2つ目のコントロール・ポイントのy座標
        戻り値:
        スプライン補間
      • TANGENT

        public static Interpolator TANGENT​(Duration t1,
                                           double v1,
                                           Duration t2,
                                           double v2)
        タンジェント補間を作成します。 タンジェント補間を使用すると、キー・フレームに近い位置でタンジェントを定義することによって、アニメーション曲線の動作を非常に正確に定義できます。 タンジェント補間は、キー・フレームの左右の動作を定義するため、Timeline内でのみ役立ちます。 異なる補間を使用するKeyFrameの後に続くKeyFrameで使用した場合、前のKeyFrameのアウトタンジェントがそのKeyFrameの値と等しいものとして処理されます。

        タンジェント補間は、キー・フレームの左右の動作を定義するため、Timeline内でのみ役立ちます

        パラメータでは、キー・フレームの前をインタンジェント、キー・フレームの後をアウトタンジェントとして、アニメーション曲線のタンジェントを定義します。 各タンジェントは、現時点でのキー・フレームまでの距離とタンジェントの値のペアで指定します。

        対象期間(2つ目のKeyFrameの前または1つ目のKeyFrameの後)の1/3の位置にある、指定したタンジェントによって定義された2つのコントロール・ポイントを持つベジエ曲線に従って補間が行われます。 上の図を参照してください。

        パラメータ:
        t1 - インタンジェントのデルタ時間(KeyFrameに対する相対値)
        v1 - インタンジェントの値
        t2 - アウトタンジェントのデルタ時間(KeyFrameに対する相対値)
        v2 - アウトタンジェントの値
        戻り値:
        新しいタンジェント補間
      • TANGENT

        public static Interpolator TANGENT​(Duration t,
                                           double v)
        インタンジェントとアウトタンジェントが同一のタンジェント補間を作成します。 タンジェントが1つのみ使用される、Timelineの最初と最後のキー・フレームで特に役立ちます。
        パラメータ:
        t - タンジェントのデルタ時間
        v - タンジェントの値
        戻り値:
        新しいタンジェント補間
        関連項目:
        TANGENT(Duration, double, Duration, double)
      • interpolate

        public Object interpolate​(Object startValue,
                                  Object endValue,
                                  double fraction)
        このメソッドに2つのObjects0.0から1.0までのfractionを渡すと、補間された値が返されます。

        両方のObjectsNumberを実装している場合、それらの値が補間されます。 startValueInterpolatableを実装している場合、interpolate()に定義されている計算が使用されます。 これらの条件のいずれも満たさない場合、離散補間が使用されます。つまり、endValuefraction1.0の場合にのみ返され、それ以外の場合はstartValueが返されます。

        補間された値を計算する前に、curve()に定義された関数に従って比率が変更されます。

        パラメータ:
        startValue - 開始値
        endValue - 終了値
        fraction - 0.0から1.0までの値
        戻り値:
        補間された値
      • interpolate

        public boolean interpolate​(boolean startValue,
                                   boolean endValue,
                                   double fraction)
        このメソッドに2つのboolean値と0.0から1.0までのfractionを渡すと、補間された値が返されます。

        補間された値を計算する前に、curve()に定義された関数に従って比率が変更されます。

        パラメータ:
        startValue - 1つ目のデータ・ポイント
        endValue - 2つ目のデータ・ポイント
        fraction - [0.0...1.0]の比率
        戻り値:
        補間された値
      • interpolate

        public double interpolate​(double startValue,
                                  double endValue,
                                  double fraction)
        このメソッドに2つのdouble値と0.0から1.0までのfractionを渡すと、補間された値が返されます。

        補間された値を計算する前に、curve()に定義された関数に従って比率が変更されます。

        パラメータ:
        startValue - 1つ目のデータ・ポイント
        endValue - 2つ目のデータ・ポイント
        fraction - [0.0...1.0]の比率
        戻り値:
        補間された値
      • interpolate

        public int interpolate​(int startValue,
                               int endValue,
                               double fraction)
        このメソッドに2つのint値と0.0から1.0までのfractionを渡すと、補間された値が返されます。

        補間された値を計算する前に、curve()に定義された関数に従って比率が変更されます。

        パラメータ:
        startValue - 1つ目のデータ・ポイント
        endValue - 2つ目のデータ・ポイント
        fraction - [0.0...1.0]の比率
        戻り値:
        補間された値
      • interpolate

        public long interpolate​(long startValue,
                                long endValue,
                                double fraction)
        このメソッドに2つのint値と0.0から1.0までのfractionを渡すと、補間された値が返されます。

        補間された値を計算する前に、curve()に定義された関数に従って比率が変更されます。

        パラメータ:
        startValue - 1つ目のデータ・ポイント
        endValue - 2つ目のデータ・ポイント
        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は現在の間隔の終了を示します。 通常は、単調に増加する関数です。
        戻り値:
        曲線値