ベクトル型はこんな風に

メッシュデータの読み込み - malibu-bulldogの日記VectorとColorについて書きますとか言っていながらちょっと日がたちましたが…

template class Vector{
  union{
    TYPE vec[4];
    struct{
      TYPE x;
      TYPE y;
      TYPE z;
      TYPE w;
    };
  };
};

こんな風にしてます。
テンプレートなのは基本はdoubleで使いたいものの、たまーにfloatも出番があるし、intもあるから。

wがあるのは同次座標系(簡単に言えば回転と平行移動を一つの行列で表せる)なので。
メンバを配列と構造体の共用体にしているのは配列としてアクセスする場合とx,y,z,wで個々にアクセスしたい場合のどっちもあるから。

たしかDirectXのベクトルもこうなっていたような…

それと、Colorも似たような感じです。