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;
}
相关推荐
wanzhong233310 小时前
CUDA学习5-矩阵乘法(共享内存版)
深度学习·学习·算法·cuda·高性能计算
_w_z_j_11 小时前
最小栈(栈)
数据结构
小许学java11 小时前
Spring原理
java·spring·生命周期·作用域·原理
fufu031111 小时前
Linux环境下的C语言编程(四十八)
数据结构·算法·排序算法
教练、我想打篮球11 小时前
122 Hession,FastJson,ObjectInputStream的序列化反序列化相同引用的处理
java·config·utils
Yingye Zhu(HPXXZYY)11 小时前
Solution to Luogu P6340
算法
酷柚易汛11 小时前
酷柚易汛ERP 2025-12-26系统升级日志
java·前端·数据库·php
侠客行031712 小时前
Mybatis入门到精通 一
java·mybatis·源码阅读
小熳芋12 小时前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
消失的旧时光-194312 小时前
微服务的本质,其实是操作系统设计思想
java·大数据·微服务