我在 Java 中設置了一個簡單的 3D 渲染器,它設法在給定的 2D 面板上投影一個 3D 立方體。現在我要旋轉這個立方體來展示 3D。然而,一旦我向它添加旋轉,三角形形成的角度不再“同步”,我最終會得到奇怪的重疊頂點。https://i.stack.imgur.com/Urk24.gif這僅使用兩個頂點來呈現以清楚地顯示問題。我不知道如何糾正這個。矩陣乘法代碼:public static vector multiplyMatrixVector(vector in, mat4x4 m){ vector out = new vector(0,0,0); out.x = in.x * m.m[0][0] + in.y * m.m[1][0] + in.z * m.m[2][0] + m.m[3][0]; out.y = in.x * m.m[0][1] + in.y * m.m[1][1] + in.z * m.m[2][1] + m.m[3][1]; out.z = in.x * m.m[0][2] + in.y * m.m[1][2] + in.z * m.m[2][2] + m.m[3][2]; float w = in.x * m.m[0][3] + in.y * m.m[1][3] + in.z * m.m[2][3] + m.m[3][3]; if(w!=0.0f) { out.x /= w; out.y /= w; out.z /= w; return out; } System.out.println("W is 0."); return out;}
渲染由三角形組成的立方體會在旋轉時產生奇怪的角度
慕的地8271018
2022-07-27 10:43:39