//////コメント内部のコードですがthis版と変数版どっちが正しいのでしょうか?内容よりも適切な方法があれば教えていただきたいです。
class Matrix { public: float x; float y; float z; float w; //コンストラクタ Matrix() { x = 0.0; y = 0.0; z = 0.0; w = 0.0; } Matrix(Position p) { x = p.x; y = p.y; z = p.z; w = 1.0f; } Matrix(float xx, float yy, float zz, float ww) { x = xx; y = yy; z = zz; w = ww; } Matrix(float xx, float yy, float zz) { x = xx; y = yy; z = zz; w = 1.0f; } //////////////////////////////////////////////////////////////////////// //this版 Matrix operator * (Matrix M) { this->x = (x * 1) + (y * 0) + (z * 0) + (w * M.x); this->y = (x * 0) + (y * 1) + (z * 0) + (w * M.y); this->z = (x * 0) + (y * 0) + (z * 1) + (w * M.z); this->w = (x * 0) + (y * 0) + (z * 0) + (w * M.w); return *this; } //変数版 Matrix operator * (Matrix M) { Matrix t; t.x = (x * 1) + (y * 0) + (z * 0) + (w * M.x); t.y = (x * 0) + (y * 1) + (z * 0) + (w * M.y); t.z = (x * 0) + (y * 0) + (z * 1) + (w * M.z); t.w = (x * 0) + (y * 0) + (z * 0) + (w * M.w); return t; } //////////////////////////////////////////////////////////////////////// };
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/09/08 08:16
2020/09/08 08:17
退会済みユーザー
2020/09/08 08:19
2020/09/08 08:21 編集
2020/09/08 08:22