- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- データ構造
- データ構造索引
- クラス階層
- データフィールド

Public 型 | Public メソッド | 変数
クラス テンプレート mist::vector3< T >
ベクトルライブラリ

3次元ベクトルを扱うクラス [詳細]

`#include <vector.h>`

## Public 型
typedef T | value_type
| MISTのコンテナ内に格納するデータ型．mist::array< data > の data と同じ
typedef size_t | size_type
| 符号なしの整数を表す型．コンテナ内の要素数や，各要素を指定するときなどに利用し，内部的には size_t 型と同じ
typedef ptrdiff_t | difference_type
| 符号付きの整数を表す型．コンテナ内の要素数や，各要素を指定するときなどに利用し，内部的には ptrdiff_t 型と同じ
typedef float_type< T >::value_type | float_type
| 長さなどを計算するときに用いる浮動小数点型

## Public メソッド
| vector3 ()
| デフォルトコンストラクタ．( 0, 0, 0 ) に初期化する
| vector3 (const value_type &xx, const value_type &yy, const value_type &zz)
| ( xx, yy, zz ) のベクトルを作成する
| vector3 (const value_type &vv)
| ( vv, vv, vv ) のベクトルを作成する
template<class TT >
| vector3 (const vector3< TT > &v)
| 他の3次元ベクトルで要素の型が異なるものから同じ要素を持つベクトルを作成する
| vector3 (const vector3< T > &v)
| 他の3次元ベクトルで同じ要素型のものを用いて初期化する
template<class TT >
const vector3 & | operator= (const vector3< TT > &v)
| 他データ型の3次元ベクトルを代入する
const vector3 & | operator= (const vector3< T > &v)
| 他の3次元ベクトルを代入する
vector3 | operator- () const
| 符号反転したベクトルを返す
template<class TT >
vector3 & | operator+= (const vector3< TT > &v)
| ベクトル和
template<class TT >
vector3 & | operator-= (const vector3< TT > &v)
| ベクトル差
template<class TT >
vector3 & | operator*= (const vector3< TT > &v)
| ベクトルの外積
template<class TT >
vector3 & | operator*= (const TT &a)
| ベクトルの定数倍
template<class TT >
vector3 & | operator/= (const TT &a)
| ベクトルを定数で割る
bool | operator== (const vector3 &v) const
| 2つのベクトルが等しい（全要素が同じ値を持つ）かどうかを判定する
bool | operator!= (const vector3 &v) const
| 2つのベクトルが等しくない（どれか１つでも異なる要素を持つ）かどうかを判定する
bool | operator< (const vector3 &v) const
| 2つのベクトルの < を判定する
bool | operator<= (const vector3 &v) const
| 2つのベクトルの <= を判定する
bool | operator> (const vector3 &v) const
| 2つのベクトルの > を判定する
bool | operator>= (const vector3 &v) const
| 2つのベクトルの >= を判定する
vector3 | unit () const
| 単位ベクトルを計算する
template<class TT >
promote_trait< T, TT >::value_type | inner (const vector3< TT > &v) const
| ベクトルの内積を計算する
template<class TT >
vector3< typename promote_trait< value_type, TT > ::value_type > | outer (const vector3< TT > &v) const
| ベクトルの外積を計算する
float_type | length () const
| ベクトルの大きさを計算する
vector3 | rotate (const vector3 &v, double theta) const
| 任意軸周りのベクトルの回転

## 変数
value_type | x
| X座標値
value_type | y
| Y座標値
value_type | z
| Z座標値

## 説明

### template<class T>
class mist::vector3< T >

3次元ベクトルを扱うクラス

ベクトルの内積・外積等を簡便に扱うためのクラス

引数

  T | … ベクトル内に各座標を表すデータ型

## コンストラクタとデストラクタ

template<class T>
template<class TT >

mist::vector3< T >::vector3 | ( | const vector3< TT > & | v | ) |
| inline

他の3次元ベクトルで要素の型が異なるものから同じ要素を持つベクトルを作成する

注意
  異なる要素型間でデータの変換が可能でなくてはならない

## 関数

template<class T>
template<class TT >

promote_trait< T, TT >::value_type mist::vector3< T >::inner | ( | const vector3< TT > & | v | ) | const
| inline

ベクトルの内積を計算する

引数

  [in] | v | … 右辺値

参照元 mist::convert_to_vertex_face_list(), と mist::quaternion< T >::rotate().

template<class T>

float_type mist::vector3< T >::length | ( |  | ) | const
| inline

ベクトルの大きさを計算する

戻り値
  ベクトルの大きさ

template<class T>

bool mist::vector3< T >::operator!= | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルが等しくない（どれか１つでも異なる要素を持つ）かどうかを判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … 2つのベクトルが異なる場合
  false | … 2つのベクトルが等しい場合

template<class T>

bool mist::vector3< T >::operator< | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルの < を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 < v2 の場合
  false | … v1 >= v2 の場合

template<class T>

bool mist::vector3< T >::operator<= | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルの <= を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 <= v2 の場合
  false | … v1 > v2 の場合

template<class T>
template<class TT >

const vector3& mist::vector3< T >::operator= | ( | const vector3< TT > & | v | ) |
| inline

他データ型の3次元ベクトルを代入する

コピー元であるベクトル v と全く同じベクトルを作成する．

引数

  [in] | v | … コピー元のベクトル

戻り値
  自分自身

template<class T>

const vector3& mist::vector3< T >::operator= | ( | const vector3< T > & | v | ) |
| inline

他の3次元ベクトルを代入する

コピー元であるベクトル v と全く同じベクトルを作成する．

引数

  [in] | v | … コピー元のベクトル

戻り値
  自分自身

template<class T>

bool mist::vector3< T >::operator== | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルが等しい（全要素が同じ値を持つ）かどうかを判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … 2つのベクトルが等しい場合
  false | … 2つのベクトルが異なる場合

template<class T>

bool mist::vector3< T >::operator> | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルの > を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 > v2 の場合
  false | … v1 <= v2 の場合

template<class T>

bool mist::vector3< T >::operator>= | ( | const vector3< T > & | v | ) | const
| inline

2つのベクトルの >= を判定する

引数

  [in] | v | … 右辺値

戻り値

  true | … v1 >= v2 の場合
  false | … v1 < v2 の場合

template<class T>
template<class TT >

vector3< typename promote_trait< value_type, TT >::value_type > mist::vector3< T >::outer | ( | const vector3< TT > & | v | ) | const
| inline

ベクトルの外積を計算する

引数

  [in] | v | … 右辺値

参照元 mist::quaternion< T >::rotate().

template<class T>

vector3 mist::vector3< T >::rotate | ( | const vector3< T > & | v,
|  | double | theta
| ) |  | const
| inline

任意軸周りのベクトルの回転

引数

  [in] | v | … 回転軸
  [in] | theta | … 右ねじ方向？で測った回転角度

戻り値
  回転後のベクトル

template<class T>

vector3 mist::vector3< T >::unit | ( |  | ) | const
| inline

単位ベクトルを計算する

参照元 mist::quaternion< T >::quaternion(), と mist::quaternion< T >::rotate().

このクラスの説明は次のファイルから生成されました:

- vector.h