首页
社区
课程
招聘
[求助]看到的一个sqrt的算法 求算法牛或数学牛解释
发表于: 2012-1-30 21:39 8118

[求助]看到的一个sqrt的算法 求算法牛或数学牛解释

2012-1-30 21:39
8118
原文说是quake3引擎里快速求平方根的算法
实在是看不懂啊
好像是什么牛顿迭代法啊 什么的 有没有通俗的解释
float CarmSqrt(float x){
union{
int intPart;
float floatPart;
} convertor;
union{
int intPart;
float floatPart;
} convertor2;
convertor.floatPart = x;
convertor2.floatPart = x;
convertor.intPart = 0x1FBCF800 + (convertor.intPart >> 1);
convertor2.intPart = 0x5f3759df - (convertor2.intPart >> 1);
return 0.5f*(convertor.floatPart + (x * convertor2.floatPart));
}

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
有牛顿这俩字的都是数级数论。。。。高数挂了的人情何以堪
2012-1-30 22:39
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
我想知道里边的两个常数是干什么的。。。
2012-1-30 22:47
0
雪    币: 324
活跃值: (1029)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
请参考以下附件,里面说的比较清楚。

FastInverseSqrt.pdf
上传的附件:
2012-1-31 09:08
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
搞算法的伤不起啊    微积分都已经忘干净的路过。。。
2012-2-2 11:16
0
雪    币: 146
活跃值: (1395)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
学校里学过计算方法,不过都快忘干净了
2012-2-3 11:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这里有篇文章可以参考一下
http://www.cnblogs.com/topameng/archive/2010/10/08/1845852.html
2012-2-23 11:02
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
8
牛顿法的几何解释:
利用近似解的切线逐渐逼近。
2012-2-23 22:09
0
雪    币: 174
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个是一个很传奇的故事。

基本原理就是采用逼近法。

具体实现的时候要选择一个近似值。

而在90年代有一个游戏叫做  雷神之锤  传说中用来检查显卡性能的。

3D效果相当牛逼。后来公开源码后,其中就有类似的这么一点段。

更详细的。你可以去网上找找。懒得复制粘贴了。
2012-2-23 22:13
0
雪    币: 67
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
除了牛顿法,传说中,这背后还有一个不可告人的故事。
2012-2-26 00:56
0
雪    币: 157
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
http://www.cnblogs.com/pkuoliver/archive/2010/10/06/sotry-about-sqrt.html
2012-3-4 15:56
0
雪    币: 124
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看看,学习学习。
2012-3-5 15:05
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
牛B大神 高山仰止啊
2012-3-6 20:03
0
游客
登录 | 注册 方可回帖
返回
//