N阶Bezier

cpp 复制代码
deque<QPointF> mapToolCurve::getBezier(deque<QPointF>& cps)
{
    deque<QPointF> _resp;

    for (double t = 0.0; t < 1.0; t += 0.01)
    {
        auto pointf = getBezierLoop(cps, t);
        _resp.emplace_back(pointf);
    }

    return _resp;
}

QPointF mapToolCurve::getBezierLoop(deque<QPointF>& cps,double t)
{
    QPointF outPoint;
    deque<QPointF> newCps;
    for (size_t i = 0; i < cps.size() - 1; i++)
    {
        auto p = cps[i] + (cps[i + 1] - cps[i]) * t;
        newCps.emplace_back(p);
    }

    if (1 == newCps.size())
    {
        return newCps[0];
    }else
    {
        outPoint = getBezierLoop(newCps,t);
    }
    return outPoint;
}
相关推荐
oak隔壁找我5 分钟前
Java 高级特性
java·后端
骈拇9 分钟前
重写、重载、访问者模式
java
Victory_orsh14 分钟前
“自然搞懂”深度学习系列(基于Pytorch架构)——01初入茅庐
人工智能·pytorch·python·深度学习·算法·机器学习
88号技师15 分钟前
2025年8月SCI-汉尼拔·巴卡优化算法Hannibal Barca optimizer-附Matlab免费代码
开发语言·人工智能·算法·数学建模·matlab·优化算法
龙腾AI白云23 分钟前
大模型-高效优化技术全景解析:微调 量化 剪枝 梯度裁剪与蒸馏 上
算法
老K的Java兵器库27 分钟前
对象创建源码追踪:从 new 指令到 JVM 内部实现
java·jvm
小学鸡!28 分钟前
spring boot实现接口数据脱敏,整合jackson实现敏感信息隐藏脱敏
java·spring boot
地平线开发者37 分钟前
新版 perf 文件解读与性能分析
算法·自动驾驶
lingran__40 分钟前
算法沉淀第五天(Registration System 和 Obsession with Robots)
c++·算法
chrispang42 分钟前
浅谈 Tarjan 算法
算法