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;
}
相关推荐
可观测性用观测云1 分钟前
云原生架构下微服务接入 SkyWalking 最佳实践
java
Python算法实战11 分钟前
腾讯送命题:手写多头注意力机制。。。
人工智能·算法·面试·大模型·强化学习
前端小刘哥24 分钟前
现场直播的技术革新者:视频直播点播平台EasyDSS在现场直播场景中的技术应用
算法
草莓工作室24 分钟前
数据结构9:队列
c语言·数据结构·队列
violet-lz37 分钟前
数据结构八大排序:堆排序-从二叉树到堆排序实现
数据结构·算法
十八岁讨厌编程1 小时前
【算法训练营 · 补充】LeetCode Hot100(上)
算法·leetcode
爱学习的小鱼gogo1 小时前
python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十)
开发语言·数据结构·python·矩阵·字符串·回溯·递归栈
_殊途1 小时前
项目开发手册-开发流程
java
想要AC的sjh1 小时前
华为Java专业级科目一通过心得
java·开发语言·华为
一条星星鱼1 小时前
从0到1:如何用统计学“看透”不同睡眠PSG数据集的差异(域偏差分析实战)
人工智能·深度学习·算法·概率论·归一化·睡眠psg