kinugasa.object

## クラス VectorF

- java.lang.Object
- - kinugasa.object.VectorF

- すべての実装されたインタフェース:
    java.io.Serializable, java.lang.Cloneable

      public class VectorF
      extends java.lang.Object
      implements java.io.Serializable, java.lang.Cloneable

  ベクトルと角度／速度をカプセル化します.
  関連項目:
    直列化された形式

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `float` | `angle`
    `static float` | `EAST` 東を表す定数です.
    `static float` | `NORTH` 北を表す定数です.
    `static float` | `NORTH_EAST` 北東を表す定数です.
    `static float` | `NORTH_WEST` 北西を表す定数です.
    `static float` | `SOUTH` 南を表す定数です.
    `static float` | `SOUTH_EAST` 南東を表す定数です.
    `static float` | `SOUTH_WEST` 南西を表す定数です.
    `float` | `speed`
    `static float` | `WEST` 西を表す定数です.

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `VectorF()`
    `VectorF(float speed)`
    `VectorF(float angle, float speed)`
    `VectorF(java.awt.geom.Point2D.Float location)`

  - ### メソッドのサマリー

    All Methods Static Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `add(VectorF v)`
    `static VectorF` | `add(VectorF v1, VectorF v2)`
    `void` | `addAngle(float a)` この角度に角度を加算.
    `void` | `addAngle(VectorF v)` この角度に角度を加算.
    `boolean` | `checkRange(float centerDeg, float openDeg)` このインスタンスの表す角度がcenterDeg+-openDeg/2の範囲内かを調べる.
    `boolean` | `checkRange(VectorF centerDeg, float openDeg)` このインスタンスの表す角度がcenterDeg+-openDeg/2の範囲内かを調べる.
    `void` | `clamp()`
    `static float` | `clamp(float deg)` 度数法の角度を0度から359度までに整形します.
    `VectorF` | `clone()`
    `float` | `cos()` この角度のコサインを取得.
    `boolean` | `equalsInt(VectorF obj)`
    `boolean` | `equalsValue(VectorF obj)`
    `float` | `getAngle()`
    `float` | `getAngleAsRad()`
    `java.awt.geom.Point2D.Float` | `getLocation()`
    `java.awt.geom.Point2D.Float` | `getLocationOnScreen()`
    `float` | `getSpeed()`
    `float` | `getX()`
    `float` | `getY()`
    `void` | `setAngle(float angle)`
    `void` | `setAngle(java.awt.geom.Point2D.Float p1, java.awt.geom.Point2D.Float p2)` 方向を設定.
    `void` | `setLocation(float x, float y)`
    `void` | `setSpeed(float speed)`
    `void` | `setX(float x)`
    `void` | `setY(float y)`
    `float` | `sin()` この角度のサインを取得.
    `void` | `spreadAngle(float width)` この角度をwidth/2の角度だけランダムに補正する.
    `void` | `sub(VectorF v)`
    `static VectorF` | `sub(VectorF v1, VectorF v2)`
    `java.lang.String` | `toString()`

    - ### クラスから継承されたメソッド java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### フィールドの詳細

    - #### EAST

          public static final float EAST

      東を表す定数です.
      関連項目:
        定数フィールド値

    - #### SOUTH_EAST

          public static final float SOUTH_EAST

      南東を表す定数です.
      関連項目:
        定数フィールド値

    - #### SOUTH

          public static final float SOUTH

      南を表す定数です.
      関連項目:
        定数フィールド値

    - #### SOUTH_WEST

          public static final float SOUTH_WEST

      南西を表す定数です.
      関連項目:
        定数フィールド値

    - #### WEST

          public static final float WEST

      西を表す定数です.
      関連項目:
        定数フィールド値

    - #### NORTH_WEST

          public static final float NORTH_WEST

      北西を表す定数です.
      関連項目:
        定数フィールド値

    - #### NORTH

          public static final float NORTH

      北を表す定数です.
      関連項目:
        定数フィールド値

    - #### NORTH_EAST

          public static final float NORTH_EAST

      北東を表す定数です.
      関連項目:
        定数フィールド値

    - #### angle

          public float angle

    - #### speed

          public float speed

  - ### コンストラクタの詳細

    - #### VectorF

          public VectorF()

    - #### VectorF

          public VectorF(float angle,
                         float speed)

    - #### VectorF

          public VectorF(float speed)

    - #### VectorF

          public VectorF(java.awt.geom.Point2D.Float location)

  - ### メソッドの詳細

    - #### clamp

          public void clamp()

    - #### add

          public void add(VectorF v)

    - #### add

          public static VectorF add(VectorF v1,
                                    VectorF v2)

    - #### sub

          public void sub(VectorF v)

    - #### sub

          public static VectorF sub(VectorF v1,
                                    VectorF v2)

    - #### getAngle

          public float getAngle()

    - #### getAngleAsRad

          public float getAngleAsRad()

    - #### getSpeed

          public float getSpeed()

    - #### setAngle

          public void setAngle(float angle)

    - #### setSpeed

          public void setSpeed(float speed)

    - #### setX

          public void setX(float x)

    - #### setY

          public void setY(float y)

    - #### getX

          public float getX()

    - #### getY

          public float getY()

    - #### getLocation

          public java.awt.geom.Point2D.Float getLocation()

    - #### getLocationOnScreen

          public java.awt.geom.Point2D.Float getLocationOnScreen()

    - #### setLocation

          public void setLocation(float x,
                                  float y)

    - #### clone

          public VectorF clone()

      オーバーライド:
        `clone` クラス内 `java.lang.Object`

    - #### equalsInt

          public boolean equalsInt(VectorF obj)

    - #### equalsValue

          public boolean equalsValue(VectorF obj)

    - #### checkRange

          public boolean checkRange(float centerDeg,
                                    float openDeg)

      このインスタンスの表す角度がcenterDeg+-openDeg/2の範囲内かを調べる.
      パラメータ:
        `centerDeg` - 傾向の中央.
        `openDeg` - 分布域.
      戻り値:
        指定した範囲内にある場合はtrueを返す.

    - #### checkRange

          public boolean checkRange(VectorF centerDeg,
                                    float openDeg)

      このインスタンスの表す角度がcenterDeg+-openDeg/2の範囲内かを調べる.
      パラメータ:
        `centerDeg` - 傾向の中央.
        `openDeg` - 分布域.
      戻り値:
        指定した範囲内にある場合はtrueを返す.

    - #### toString

          public java.lang.String toString()

      オーバーライド:
        `toString` クラス内 `java.lang.Object`

    - #### sin

          public float sin()

      この角度のサインを取得.
      戻り値:
        サイン.

    - #### cos

          public float cos()

      この角度のコサインを取得.
      戻り値:
        コサイン.

    - #### addAngle

          public void addAngle(float a)

      この角度に角度を加算.
      パラメータ:
        `a` - 加算する値.

    - #### addAngle

          public void addAngle(VectorF v)

      この角度に角度を加算.
      パラメータ:
        `v` - 加算する角度.

    - #### spreadAngle

          public void spreadAngle(float width)

      この角度をwidth/2の角度だけランダムに補正する.
      パラメータ:
        `width` - 補正角度.

    - #### setAngle

          public void setAngle(java.awt.geom.Point2D.Float p1,
                               java.awt.geom.Point2D.Float p2)

      方向を設定. 座標p1からp2への角度を設定します.
      パラメータ:
        `p1` - 現在位置.
        `p2` - 目的地.

    - #### clamp

          public static float clamp(float deg)

      度数法の角度を0度から359度までに整形します.
      パラメータ:
        `deg` - 度数法の角度.
      戻り値:
        0から359度に整形された度数法の角度.