HelloPhysicsWorld->vecmath-ruby->chapter4

 なんかメンドクサイので、Vecmath.Matrixはmatrix.rbに委譲したい*1けど、ムリかなw;


 module作ってみたけど、やっぱり黒魔術覚えて使わった方が。
テトリスっぽくて書いてるときは、楽しかったんですけど、改めて見るとねw;

module Mat3
  attr_accessor :m00,:m01,:m02,
                :m10,:m11,:m12,
                :m20,:m21,:m22
  
  alias_method :mm00,:m00; alias_method :mm01,:m01; alias_method :mm02,:m02;
  alias_method :mm10,:m10; alias_method :mm11,:m11; alias_method :mm12,:m12;
  alias_method :mm20,:m20; alias_method :mm21,:m21; alias_method :mm22,:m22;
  
end

module Mat4
  include Mat3
  
  attr_accessor                :m03,
                               :m13,
                               :m23,
                :m30,:m31,:m32,:m33
    
                                                                             alias_method :mm03,:m03;
                                                                             alias_method :mm13,:m13;
                                                                             alias_method :mm23,:m23;
  alias_method :mm30,:m30; alias_method :mm31,:m31; alias_method :mm32,:m32; alias_method :mm33,:m33;
end

attr_accessorはともかく、alias_methodはどうにかしたい*2><

*1:GMatrixとかは行けるかもしれないけど、Matrix3,Matrix4はどうだろうね

*2:けど、先に実装とテストを急がないとな