模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

726查看 | 5回复

求助PX4里面的accept_sample函数解析

[复制链接]
发表于 2016-8-1 10:33:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 wayne888 于 2016-8-1 10:36 编辑

bool CompassCalibrator::accept_sample(const Vector3f& sample)
{
    if(_sample_buffer == NULL) {
        return false;
    }
    float faces = 2*COMPASS_CAL_NUM_SAMPLES-4;
    float theta = acosf(cosf((4.0f*M_PI_F/(3.0f*faces)) + M_PI_F/3.0f)/(1.0f-cosf((4.0f*M_PI_F/(3.0f*faces)) + M_PI_F/3.0f)));
    theta *= 0.5f;
    float min_distance = _params.radius * 2*sinf(theta/2);
    for (uint16_t i = 0; i<_samples_collected; i++){
        float distance = (sample - _sample_buffer.get()).length();
        if(distance < min_distance) {
            return false;
        }
    }
    return true;
}

主要是:
float faces = 2*COMPASS_CAL_NUM_SAMPLES-4;
float theta = acosf(cosf((4.0f*M_PI_F/(3.0f*faces)) + M_PI_F/3.0f)/(1.0f-cosf((4.0f*M_PI_F/(3.0f*faces)) + M_PI_F/3.0f)));
这两条语句。

发表于 2016-8-1 11:12:12 | 显示全部楼层
不懂………………
发表于 2016-8-1 12:21:13 | 显示全部楼层
路过不懂
发表于 2016-8-1 12:31:12 | 显示全部楼层
看不懂
发表于 2016-8-1 15:57:24 | 显示全部楼层
问题太高端!!!!!
发表于 2016-8-2 00:05:25 | 显示全部楼层
高人,不懂。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!