平方根倒數速演算法及解釋

2021-06-28 22:50:42 字數 383 閱讀 7196

#includeusing namespace std;

float q_rsqrt(float number)

int main()

0x5f3759df
這個數字,大大加快了平方根的逼近速度,現在貌似沒有數學公式可以直接說明這個數的產生,但是

在charles mceniry的**中,他使用了一種類似lomont但更複雜的方法來優化r值:他最開始使用窮舉演算法,所得結果與lomont相同;而後他嘗試用帶權二分法尋找最優值,所得結果恰是**中所使用的魔術數字0x5f3759df,因此,mceniry認為,這一常數最初或許便是以「在可容忍誤差範圍內使用二分法」的方式求得

**維基百科

快速平方根演算法

在3d圖形程式設計中,經常要求平方根或平方根的倒數,例如 求向量的長度或將向量歸一化。c數學函式庫中的sqrt具有理想的精度,但對於3d遊戲程式來說速度太慢。我們希望能夠在保證足夠的精度的同時,進一步提高速度。carmack在quake3中使用了下面的演算法,它第一次在公眾場合出現的時候,幾乎震住了...

均方根誤差不超過 快速平方根倒數演算法

位址戳這裡 www.lomont.org 一 介紹 快速平方根倒數演算法也稱為平方根倒數速演算法 fast inverse square root 是用於快速計算 的一種演算法。此演算法由於出現在 雷神之鎚iii競技場 源 中而被人們所熟知。此演算法最早被認為是由約翰 卡馬克所發明,但後來的調查顯示...

計算平方根的演算法

總結一下一些常用的計算平方根的方法 1.牛頓法 具體的做法如下 計算公式如下 具體的計算程式如下 double sqrt double x return g 2.利用級數進行逼近 微積分中的泰勒級數如下 這樣,有了這個公式我們可以得到求平方根公式的展開式 這樣我們可以進行在一定精度內的逼近。但是這兒...