《雷神之錘3》中平方根算法你見過嗎,這段代碼簡直吊炸天!

2021-01-18 w3cschool編程獅

  不知道各位大牛有沒有玩過雷神之錘的遊戲?據說這是九十年代一個非常經典的遊戲。雷神之錘的遊戲,內容以及畫面都相當不錯,而且在很低配置的計算機中,玩遊戲也相當流暢。雷神之錘3的作者是約翰卡馬克,早前,雷神之錘三的源碼公開。卡馬克大神有一段代碼,簡直是吊炸天。


  這段代碼,據說主要用處是把一個數開平方並且取倒。經過測試之後,據說上面這段代碼,盡然比(float)(1.0/sqrt(x))更快,而且是快4倍。

  具體的實現過程比較複雜,下面是實現過程。


  關於這段代碼,網友又是怎麼回復的:

  網友一:這段代碼魔法所在的地方,那就是0x5f3759df。

  網友二:很簡單的說,這個算法,是求得足夠精確近似值比較高效的一種。那個常數相當不科學,據說至今為止,還沒有人明白那個常數究竟是怎麼得到的。


  網友三:和系統函數相比較,這段代碼的運算效率更快。

  網友四:有沒有具體的實現過程。

  網友五:簡直是吊炸天了。

  據說後來,為了研究這段代碼,普渡大學一位數學家開始了長期的研究過程。最後終於計算出了結果,他還把計算出的那個起始值同卡馬克競賽,但是他輸了。從這邊可以看出,卡馬克確實很牛逼。關於上面這段代碼,你覺得怎麼樣?

  以上內容來源於開源中國


相關焦點

  • 《雷神之錘》的快速平方根倒數
    在1999年,id software公司發布了《雷神之錘III競技場(Quake III Arena)》巨作,此第一身射擊遊戲有別於前作,以多人連綫遊戲為主軸
  • 《雷神託爾》如果洛基獲得雷神之錘,他會比託爾更強嗎?
    在漫威的世界中,雷神託爾可以說是復仇者聯盟中最強大的英雄,作為諸神之王奧丁的兒子,除了智力上的弱點之外,他的身體素質幾乎在所有方面都達到了完美水平,這意味著雷神託爾只要成年就擁有接近於天父的力量。而雷神之錘是仙宮最強大的武器,編劇Jason Aaron在《神威雷神》的故事中賦予了雷神之錘全新的起源故事。
  • 元氣騎士:淺析融合橙武「雷暴戰錘」,三錘解決戰鬥,通關吊炸天
    雷暴戰錘是一把融合的橙色品質武器,由紫武雷電戰錘和進階套件升級而來,憑藉高額的傷害和特性成為融合武器中的上乘佳品,被玩家當作通關吊炸天模式的「神器」。大家好,我是小樂。爆炸戰錘、雷電戰錘和雷暴戰錘是元氣世界中僅有的三種遠近兩用的錘類武器,其中爆炸戰錘帶有火焰屬性,但是爆炸時容易阻擋視野;雷電戰錘帶有眩暈和雷電屬性,更適合於貼臉輸出;雷暴戰錘是武器品質最高的一個,畢竟是融合武器,擁有續航能力,並且還有超高的攻擊力,可以「三錘定音」,是一把用來通關吊炸天模式的極佳武器。
  • 海拉捏碎雷神之錘時,誰注意到了彈幕?我還沒見過看完不笑的人!
    漫威電影大家每次看的時候一定都是屏氣凝神的在看,但是其實裡面還是有不少的好笑的場景的,首先就是雷神的部分鏡頭,看起來簡直就像要捧腹大笑,實在是逗趣十足,《雷神3》中的一幕不知道大家還記得嗎?下面就讓小編和大家一起來回憶一下吧!要是我問起宇宙最強女性反派是是誰?
  • 《雷神之錘4》試玩體驗
    《雷神之錘3:競技場》則把重點放在了多人模式上,因此除了一個簡單的開啟各種角色的故事線外,沒有真正的單人模式——這些角色主要是來自《毀滅戰士》和《雷神之錘》系列中,在開發商的設計中,他們全部離開自己的時代,進入了這個未來風格的競技場。《雷神之錘4》的故事則重新接上《雷神之錘2》的故事結局。
  • 漫威雷神之錘到底有多重?其實只有19.19公斤!
    甚至,在此前的《雷神3》中——電影開局雷神前往火焰巨人蘇爾特爾的界域穆斯貝爾海姆中,在懟翻了削弱版的蘇爾特爾之後,被火焰巨龍一路狂追,面對兩者體型完全不在一個檔次的設定,當雷神把雷神錘壓在巨龍嘴中時,憑藉巨龍的力量設定,也依舊無法撼動雷神錘絲毫。所以,乍一看雷神之錘重量相當bug。
  • 《雷神4》最新設想圖,簡福斯特化身女雷神,並舉起了雷神之錘!
    導語:《雷神4》最新設想圖,簡福斯特化身女雷神,並舉起了雷神之錘!隨著漫威影業公布了接下來MCU第四階段的計劃,《雷神4》成了漫威影迷和粉絲們最期待的一部電影之一!這次不僅女武神回歸,而且洛基也很有可能會回到主時間軸,石頭人korg也會發揮更重要的角色,最令人期待的莫過於雷神索爾前女友簡福斯特的回歸,這次還將以全新的身份亮相!由此,很多大神畫師們也紛紛為女雷神設計更多概念海報圖,今天我們就一起來看看《雷神4》最新設想圖,你覺得哪一張最好看呢?
  • 《神威雷神》雷神之錘的起源故事,奧丁曾經對抗神之雷霆!
    1.神威雷神的困惑:在漫畫《神威雷神》的第12期中,編劇Jason Aaron揭露了關於雷神之錘的秘密,它並不是一把簡單的錘子,更像是奧丁用來困住「神之雷霆」的牢籠,而這股力量本身就是天父級的,所以奧丁有的時候根本無法使用雷神之錘。
  • 暴風之錘和雷神之錘能合為一體,這款裝甲雷神太帥了!
    《復聯3》中雷神的表現令人驚豔,看過電影的網友都用超神來形容他。 近日的一款雷神玩具,則可以用超帥來形容。
  • 雷神之錘發生異變,這次除了雷神所有人都能舉起雷神錘了!
    熟悉漫威雷神的粉絲都清楚,在設定中,雷神的實力在整個漫威復仇者聯盟中,從一開始就足以排在第一梯隊中,這其中就更別說是雷神在雷神之錘或者是暴風戰斧的加持下的實力了。也正是因此,在漫威宇宙的設定中,雷神之錘貌似一直都是雷神的象徵,儘管在不少漫威設定中,雷神之錘被不少人舉起來過,但多數情況下,雷神之錘還是獨屬於雷神託爾的。
  • 雷神之錘4 完整破解版下載
    >遊戲語言:英文 遊戲平臺:PC 官方網址:點擊進入【遊戲簡介】   《雷神之錘4》(Quake 4),是雷神之錘系列的第四代遊戲,由之前與id Software合作多次的Raven Software開發,Activision發行。
  • 數學之美:平方根倒數速算法中的神奇數字 0x5f3759df
    【伯樂在線導讀】:在伯樂小組的這個討論帖《你見過或寫過的最複雜的 C 語言程序是?》中,就提到了「平方根倒數速算法」中的神奇數字 0x5f3759df。Christian 在本文中探討了該算法諸多有趣的地方,解釋了它的原理,對指數在 -1 到 1 的情況進行了拓展,還有一些數學相關的新思路。
  • 這些代碼操作很 IMDb
    平時忙於寫代碼,除了一些非常優雅的設計結構讀起來讓人醍醐灌頂以外,偶爾也會看到一些代碼讓自己虎軀一震,不禁想:哇,這操作,太 IMDb 了!神奇數字來自雷神之錘 3,由於遊戲時代背景的原因,當時的遊戲必須要非常地高效(優化要做好),不然的由於普遍用戶計算機性能不足而無法流暢運行,自然,在這個背景下就誕生了一些非常有意思的算法,比如
  • 復聯4雷神之錘和振金盾牌被帶回了現代,對過去的他們沒影響嗎?
    導語:復聯4雷神之錘和振金盾牌被帶回了現代,對過去的他們沒影響嗎?點進來的小帥哥小仙女們,相遇便是緣分,歡迎閱讀小編的原創圖文消息,一起跟著小編進入屬於我們的影視世界吧!看完漫威電影《復仇者聯盟4:終局之戰》這部之後,原以為在復聯3中所有的疑問到了復聯4這部終局之戰中會得到答案,然而許多細節的地方還是讓觀眾們不可理解!
  • 雷神之錘咒語是什麼?為何美隊直到復聯4才被認可,真是裝的嗎?
    雷神之錘咒語是什麼?為何美隊直到復聯4才被認可,真是裝的嗎?復聯4在之前的上映裡面收穫了大量的好評,大家對於這最後一部復聯電影是非常的期待的,所以在上映的時候,都會搶著去看首映,就為了見證著最後一部。就在雷神被壓制的時候,突然飛過來了一個錘子,把滅霸給擊飛,這個錘子就是雷神之錘了。雷神之錘在雷神3的電影裡面被死亡女神給摧毀,這個錘子是雷神回到了過去,把過去的錘子拿了回來。之後他就用兩把武器戰鬥,就在雷神被壓制的時候,是美隊操控了雷神之錘。
  • 虛幻4版《雷神之錘1》遊戲演示 高清的回憶
    上周有消息稱《雷神之錘》正在進行虛幻4的重製計劃,而今天這位名叫UE4Arch的作者放出了一小段虛幻4引擎下《雷神之錘》E1M1地圖的片段,一起來看一下吧。
  • 雷神之錘是這麼打造的,諸神那些厲害的法寶,原來都是洛基的功勞
    雷神之錘在電影裡簡直是無敵的存在,沒有得到戰錘認可的人是無法拿起它的,包括雷神託爾自己。影視裡面講述雷神之錘的錘頭部分是即將衰退的行星中心部分鍛造,握柄由世界之樹的木材製成。你想想,一個錘子有整個行星的重量,能是一般人舉得起來的嗎?
  • 漫威電影雷神4要來了,錘哥託爾怎麼辦,雷神之錘如何再現,高清大圖
    我們都知道,在《復聯4》裡,錘哥託爾的心愛之物雷神之錘被美隊送回去了,新的電影雷神4裡,託爾怎麼辦?難道叫錘哥耍大刀嗎?那個矮人王送的暴風戰斧實在對不起錘哥的拉風造型。 這是個問題。
  • 小白看《雷神3》:平頭的雷神,吹瓶的她,會打碟的老人家頂呱呱
    「這是(《雷神3》)是雷神獨立電影的最後一部,也是復聯3的序幕」、「這次的新英雄海拉,是漫威史上第一個女反派角色。」在看《雷神3》之前,作為超英電影白痴的我虛心地接受著一位漫威迷的科普,加上克裡斯·海姆斯沃斯、凱特·布蘭切特、抖森、卷福的陣容,在完全沒有看過雷神1、2的情況下,我對這部《雷神3》還是充滿了期待。
  • 超級英雄挑戰拿起雷神之錘,美國隊長的表現把雷神託爾嚇了一跳
    《復仇者聯盟2》中有一段非常有意思的劇情,復仇者聯盟的超級英雄正歡聚一堂。鷹眼首先出來營造愉快的氣氛,於是他開始調侃雷神託爾的錘子只是一小個把戲,誰都可以把它拿起來。雷神託爾笑著說你不服的話可以試試拿起來,然後鷹眼就真的上去動手了。