一个绝妙的算法,一段神秘的代码
创始人
2024-02-12 19:41:29
0次

原标题:一个绝妙的算法,一段神秘的代码

将 脚本之家 设为“星标⭐”

第一时间收到文章更新

来源丨智联招聘(ID:zhaopin-com)

游戏行业汇聚了很多计算机天才,而在这些天才中,约翰·卡马克(John Carmack)无疑是最耀眼的之一。

1999年,当卡马克在开发《雷神之锤III竞技场》时,需要使用“浮点运算求平方根倒数”计算照明和投影的波动角度与反射效果,但这样做的成本极高,因为在快节奏、对图形要求高的《雷神之锤III竞技场》中,计算机每秒要进行数百万次运算。

为此约翰·卡马克想到了一种极为高效的算法:他选择了一个16进制数字0x5f3759df,然后用牛顿法反复迭代,以求出更精确的近似值。这样做比传统算法快4倍,这就是平方根倒数速算法(Fast Inverse Square Root,Fast InvSqrt)。天才发明算法,普通人学都学不明白,或许这就是降维碾压吧。

这个算法的价值在于它显著地减少了浮点运算操作所带来的巨大计算负担,对于游戏图形运算有着非凡的意义,下面就是这段源代码:

floatQ_rsqrt( floatnumber )

{

longi;

floatx2, y;

constfloatthreehalfs = 1.5F;

x2 = number * 0.5F;

y = number;

i = * ( long* ) &y; // evil floating point bit level hacking

i = 0x5f3759df- ( i >> 1); // what the fuck?

y = * ( float* ) &i;

y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration

// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed

returny;

}

这段代码就如同一把来自天外的利剑,惊艳了无数人。它使大师级程序员卡马克的成就如天人,让无数人趋之若鹜,感怀其中。

这段代码中的神秘常数——0x5f3759df——至今仍是个谜。无人能够确切解释这个特殊常数的起源,它就像掩藏在黑暗中的未解之谜。

而后有一位研究者不甘心于这一数字,经过长时间的探索,他找到了另一个比之更高效的常数,虽然如此,他也不得不承认这个神秘数字的卓越之处,甚至撰写了一篇论文详细阐述其内在奥秘。

这段代码,这个算法,它们不仅仅是技术的奇迹,更揭示了人类思维之美,引领着我们不断前行,探索未知的境地。

  1. 80后程序员:两个月投了上万份简历没人回,把年龄改小3岁,拿到两家offer。

  2. 当一个程序员突然想做一款产品

  3. 拿到年终奖后马上辞职,厚道吗?

  4. 一个35岁大厂程序员的自叙

  5. 面试百度,凉了!经历分享

相关内容

热门资讯

中学换饮水机滤芯 全校每班平摊... 中学换饮水机滤芯 全校每班平摊98元  【中学换饮水机滤芯 全校每班平摊98元】2026年9月8日,...
外交部回应“印方建议调查小米公... 外交部回应“印方建议调查小米公司”  【外交部回应“印方建议调查小米公司”】2026年9月10日,外...
史上最长16天中秋国庆假期运输... 史上最长16天中秋国庆假期运输来了  【史上最长16天中秋国庆假期运输来了】2026年最贵的三个工作...
知识“沉”下去,防线“筑”起来...   在环球港一家餐厅等位时,市民王先生顺手扫了桌台上的二维码,利用碎片时间完成了一场消保知识问答“挑...
刘翔称已买断 获49.4万买断...   刘翔称已买断 获49.4万买断费  【刘翔称已买断 获49.4万买断费】9月10日,刘翔发文称9...
人类史上首次!老人比小孩多了 ...   人类史上首次!老人比小孩多了  【人类史上首次!老人比小孩多了】近日,美国人口普查局报告显示,全...
奶奶把男童放车篓多次拍头 已被...   奶奶把男童放车篓多次拍头 已被批评  【奶奶把男童放车篓多次拍头 已被批评】9月8日,广州荔湾区...
汇正财经贺峰专业能力怎么样?从...   评价“汇正财经贺峰专业能力怎么样”,不宜用一两个标签下结论,而应从可观测的维度入手:研究体系是否...
汇正财经服务费能退吗?透过实践...   汇正财经服务费能退吗?一些投资者在选择投顾服务时,会关注这一问题,但对于持牌机构而言,服务的核心...
央视曝光后 安徽山东河南连夜核...   央视曝光后 安徽山东河南连夜核查  【央视曝光后 安徽山东河南连夜核查】“查到最多挨两句训,罚点...
彻底告别LPL,曾是Chovy... 大家好,S16赛季的比赛已经正式开始了,相信绝大多数的玩家都关注了最近一段时间的对抗,各大赛区的比赛...
任天堂《塞尔达传说:时之笛》重... IT之家 9 月 8 日消息,任天堂今天在新一期直面会公布《塞尔达传说:时之笛》重制版游戏的实机演示...
两兄弟起家,总收入超4亿:UE... 好的创意,第一次最好用。 文/依光流 今天,葡萄君不得不跟各位聊聊《致命视角(Bodycam)》这款...
资讯:IG零封LGD花絮公开!... 根据雷竞技娱乐记者第一手资讯:IG以3比0横扫LGD,不仅闯入了败者组决赛,更重要的是锁定了冒泡赛胜...
有颜有料《剑侠世界4:无限》武... 气剑纵横,伞琴济世。西山居剑侠世界系列收官之作《剑侠世界4:无限》10月15日全平台公测,今日正式曝...
赛季末对抗路上分推荐,仅有3位... 这篇文章我们来聊一下赛季末的对抗路应该有用什么英雄去上分,这次的推荐就只推荐比较强力的了,可能英雄的...
西山居新游《剑侠世界4:无限》... 一代人的江湖,就是剑侠!西山居打造的剑侠世界系列收官之作《剑侠世界4:无限》将于10月15日全平台公...
Rookie通宵排位备战LGD... LPL季后赛精彩赛事依旧在火热进行中,今天的一场大战,网友们都期待已久了,IG的生死战,IG对阵LG...
为了省钱,付不起宣发费用的FP... 同行并不永远是冤家。 北京时间9月4日凌晨2点,首届“FPS游戏展”(The FPS Games S...
昔日爆款手游《旅行青蛙·中国之... 快科技9月8日消息,还记得当年刷屏朋友圈的《旅行青蛙》吗? 这款手游在2018年问世后迅速成为现象级...