我正在將此模塊從C++移植到C#,並且遇到了程序員從數組中取回值的方式問題。他有類似如下:將C++數組移植到C#數組
simplexnoise.h
static const int grad3[12][3] = {
{1,1,0}, {-1,1,0}, {1,-1,0}, {-1,-1,0},
{1,0,1}, {-1,0,1}, {1,0,-1}, {-1,0,-1},
{0,1,1}, {0,-1,1}, {0,1,-1}, {0,-1,-1}
};
simplesxnoise.cpp
n1 = t1 * t1 * dot(grad3[gi1], x1, y1);
在我的C#端口:
SimplexNoise.cs
private static int[][] grad3 = new int[][] { new int[] {1,1,0}, new int[] {-1,1,0}, new int[] {1,-1,0}, new int[] {-1,-1,0},
new int[] {1,0,1}, new int[] {-1,0,1}, new int[] {1,0,-1}, new int[] {-1,0,-1},
new int[] {0,1,1}, new int[] {0,-1,1}, new int[] {0,1,-1}, new int[] {0,-1,-1}};
...
n1 = t1 * t1 * dot(grad3[gi1], x1, y1);
而fo r我得到的那一行,不能從int []轉換爲int。這是合乎邏輯的,但是它在C++版本中沒有任何錯誤?我只知道C++的基礎知識,但從我所知道的是試圖給一個1D int數組賦予一個整型變量,這只是沒有任何意義。
任何想法?
dot()的_your_版本的外觀如何?這將是問題。 – 2012-03-04 10:53:58