2
我想通過使用this wikipedia article.中使用的公式來優化貝塞爾曲線實現現在我有一個非常緩慢的實現,但至少它應該是準確的。使用以下:立方bézier曲線問題
p0 = (0, 256) //Violet dot
p1 = (70, 223) //Green dot
p2 = (24, 472) //Blue dot
p3 = (255, 256) //Yellow dot
t = 0.5
在T = 0.5下面我當前的代碼,所述點畫出是(67.125,324.625)
試圖式爲X軸,我一個像這樣的計算:
var x = Math.Pow(1 - t, 3) * p0.X + 3 * Math.Pow(1 - t, 2) * t * p1.X + 3
* (1 - t) * Math.Pow(t, 2) * p2.X + Math.Pow(t, 3) + p3.X;
但是,這給了我一個290.375的X座標,這顯然是不正確的。我在這裏錯過了什麼?
'Math.Pow'未針對低整數冪進行優化。通過手動計算功率,您可以獲得顯着的速度提升而不會顯着降低精度。 – harold
感謝您的提示,@harold。這對我來說是新的。 – BlueVoodoo