61ic电子在线 首页 技术 图像技术 查看内容

图像优化---平方根计算优化

2017-6-13 20:00| 发布者: 61ic| 查看: 1395| 评论: 0|原作者: Uiuu|来自: 61ic

摘要: 本文介绍两个关于平方根计算的快速算法,精度可达到99.95%


本文介绍两个关于平方根计算的快速算法,精度可达到99.95%
具体代码如下:
// Carmack在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));
}
// 计算参数x的平方根的倒数
//
float InvSqrt (float x)
{
        float xhalf = 0.5f*x;
        int i = *(int*)&x;
        i = 0x5f3759df - (i >> 1);        // 计算第一个近似根
        x = *(float*)&i;
        x = x*(1.5f - xhalf*x*x);       // 牛顿迭代法
        return x;
}

鲜花

握手

雷人

路过

鸡蛋

地址 :湖南省株洲市天元区利江花园
合作 Email: administration@61ic.com

  • 关注61ic官方微博
    了解最新动态

  • 关注61ic微信公众号
    这里有好玩的讯息

  • 加入61ic交流群
    不断在这里成长

© 2014-2017 HuNan 湖南索炜达电子科技有限公司 . All rights reserved.
湘公网安备 43020202000020号

Archiver|手机版|小黑屋||湘ICP备13001086号-2 QQ 
返回顶部