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;
}
相关推荐
海天一色y19 小时前
python--数据结构--链表
数据结构·链表
AI爱好者202019 小时前
智能优化算法2025年新书推荐——《智能优化算法及其MATLAB实例(第4版)》
开发语言·算法·matlab
初子无爱19 小时前
Java接入支付宝沙箱支付教程
java·开发语言
三川69819 小时前
数据结构设计高频题目
数据结构·哈希算法·散列表
程序猿零零漆19 小时前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十)基于注解配置的AOP使用
java·学习·spring
LYFlied19 小时前
【每日算法】LeetCode215. 数组中的第K个最大元素
前端·算法
炽烈小老头19 小时前
【每天学习一点算法 2026/01/06】最小栈
学习·算法·leetcode
努力的小郑19 小时前
SQL 性能避坑:为什么阿里强制禁用 ORDER BY RAND()?
java·mysql·性能优化
mit6.82419 小时前
hadoop|贪心
算法
悟能不能悟19 小时前
前端调用a服务,a服务将请求用controller+openfeign调用b服务,接口参数中有header参数和body,a服务应该怎么设置,才简单
java·开发语言·前端