#include "GMath.h" #include "CArrayBuffer.h" #include "CDataView.h" #include "CFloat32Array.h" int main() { GVector3 v1(SQRT(2)/2, SQRT(2) / 2, 0); GVector3 v2(-1, 1, -1); GVector3 v3(0, -2, -2); //斯密特正交化 GVector3 w1 = v1; GVector3 w2 = v2 - proj(v2, w1); //cout << w2 << endl; GVector3 w3 = v3 - proj(v3, w1) - proj(v3, w2); //cout << w3 << endl; //normalize w1 = w1 / norm(w1); w2 = w2 / norm(w2); w3 = w3 / norm(w3); GMatrix M1(3, 3); M1.SetRowVec(0, w1); M1.SetRowVec(1, w2); M1.SetRowVec(2, w3); cout << M1 << endl; GMatrix M2 = Transpose(M1); cout << M2 << endl; cout << M1 * M2 << endl; return 0; }