マーチングキューブをC#で実装しようとしていますが、アルゴリズムが理解できず、実装方法がわからない部分に到達しました。
int Polygonise(GRIDCELL grid, double isolevel, TRIANGLE *triangles)
私が本当に理解していない3番目の議論。私はそれがポインタであることを知っていますが、後でアルゴで三角形を設定すると、変数が構造体triangles
の配列であるかのように見えます。TRIANGLE
int ntriang = 0;
for (int i=0; triTable[cubeindex,i]!=-1; i+=3) {
triangles[ntriang].p[i ] = vertlist[triTable[cubeindex,i ]];
triangles[ntriang].p[i+1] = vertlist[triTable[cubeindex,i+1]];
triangles[ntriang].p[i+2] = vertlist[triTable[cubeindex,i+2]];
ntriang++;
}
に注意してtriangles[ntriang]
ください。triangles
に設定する前なので、それは意味がありませんTRIANGLE *triangles
。なぜそれがポインタなのかもわかりません。