Skip to content
Daisuke YAMAGUCHI edited this page Oct 26, 2015 · 47 revisions

要約

ベクトルを扱うためのクラスです。これは Open CASCADE の gp_Vec クラスの機能をラッピングしたクラスであり、Ruby の Vector クラスとは別のものです。 Open CASCADE の gp_Vec クラスに相当するものです。

特異メソッド

  • new(x, y, z) -> Vec

    • Vec オブジェクトを作成します。 引数を省略すると、 [0, 0, 0] の要素を持つベクトルが作成されます。
  • zero -> Vec, origin -> Vec

    • [0, 0, 0] の要素のベクトルを返します。
  • xdir -> Vec, ydir -> Vec, zdir -> Vec

    • それぞれ [1, 0, 0], [0, 1, 0], [0, 0, 1] の要素のベクトルを返します。

インスタンスメソッド

  • self == other -> bool

    • ベクトル同士を比較し、同一であれば真を返します。トレランスを用いたより柔軟な比較は Vec.equal? メソッドを用います。
  • self + other -> Vec

    • ベクトル同士の和を返します。
  • self - other -> Vec

    • ベクトル同士の差を返します。
  • -self -> Vec

    • 反転ベクトルを返します。
  • self * float -> Vec

    • ベクトルの各要素をスカラー倍したものを返します。
  • self / float -> Vec

    • ベクトルの各要素をスカラー値で割ったものを返します。
  • inspect -> String, to_s -> String

    • Vec オブジェクトが保持している要素を人間が読める文字列にして返します。
  • x -> float, x=float

    • X の値を取得、設定します。
  • y -> float, y=float

    • Y の値を取得、設定します。
  • z -> float, z=float

    • Z の値を取得、設定します。
  • to_a -> nil, to_ary -> nil, to_xyz -> nil

    • ベクトルを X, Y, Z の要素を並べた Array オブジェクトにして返します。
  • equal?(Vec, liner_tol, anguler_tol) -> bool

    • 与えられたベクトルとトレランスを用い比較し、同一であれば真を返します。
  • normal?(Vec, anguler_tol) -> bool

    • 与えられたベクトルがこのベクトルの単位ベクトルであれば真を返します。
  • normal -> Vec

    • 正規化したベクトルを返します。
  • normal! -> self

    • ベクトルを正規化します。破壊的メソッドです。
  • parallel?(Vec, angular_tol) -> bool

    • 与えられたベクトルがこのベクトルと平行であれば真を返します。
  • reverse?(Vec, anguler_tol) -> bool

    • 与えられたベクトルがこのベクトルに反転していれば真を返します。
  • reverse -> Vec

    • 反転ベクトルを返します。
  • reverse! -> self

    • 反転します。破壊的メソッドです。
  • angle(Vec) -> float

    • 与えられたベクトルへの角度をラジアンで返します。
  • magnitude -> nil, size -> nil, length -> nil

    • ベクトルの大きさを返します。

Clone this wiki locally