0
假設我有一個5x5的數組。如果我知道以下幾點[1,1] = 40,[1,3] = 50,[3,1] = 60,[3,3] = 70,我該如何計算陣列中的每個未知點?基本上我正在做一個梯度圖的算法,比如地圖上的溫度。計算圖上已知點之間的權重?
感謝
假設我有一個5x5的數組。如果我知道以下幾點[1,1] = 40,[1,3] = 50,[3,1] = 60,[3,3] = 70,我該如何計算陣列中的每個未知點?基本上我正在做一個梯度圖的算法,比如地圖上的溫度。計算圖上已知點之間的權重?
感謝
我會鋪陳算法爲你的僞代碼找到任何點P的重量
Find the two point p1 and p2 that are on the "left" and "right" of p
distance = distance(p1, p2)
distance_p1 = distance(p, p1)
weight_diff = p1.weight - p2.weight
weight_p = p1.weight + (distance_p1/distance) * weight_diff
讓我知道如果有不清楚的地方。
編輯:這假設點之間的線性插值。
這是一個比編程更多的數學問題,但奇怪的是,在SO上有一個類似的線程:[在3D空間中插入點以形成光滑曲面的簡單方法](http://stackoverflow.com/questions/313297/simple-way-to-interpolate-between-3d-space-to-form-a-smooth-surface) – Groo
首先找到你需要的數學題,然後我們將顯示實現該代碼。我不完全確定'計算數組中未知點'的含義。 –
要添加到上面的評論:假設你物理模擬這種情況,使用不同長度的棍子放在棋盤上。很容易看出,有無限多的曲面符合您的要求 - 首先決定如何選取所需的曲面,然後研究如何計算出中間值,然後*然後*您可以弄清楚如何編寫代碼。 [math.se]可能有幫助。 – AakashM