矩阵形式的bezier曲线

本文分享一段矩阵形式的bezier代码:

Matlab 复制代码
clc
clear

% 控制点
P = [25;
     10;
     5;
     13]; 

%% 获得M矩阵
n = length(P) - 1;
M = zeros(n+1,n+1);
for i = 1:n+1
    for j = 1:n+1
        if(i+j<n+3)
            M(i,j) = (-1)^(n -i-j+2)*nchoosek(n,n-i+1)*nchoosek(n-i+1,j-1);
        else
            M(i,j) = 0;
        end
    end
end
t_temp = linspace(0,1,100)';

% 生成T矩阵
T = ones(length(t_temp),n + 1);
for i = 1:n
   T(:,i) = t_temp.^(n-i+1);
end

% 计算获得bezier曲线离散点
r = T*M*P;

figure(1)
plot(r)
hold on
plot([1,25,50,100],P,'*')

主要是要获得:

相关推荐
夜思红尘4 小时前
算法--双指针
python·算法·剪枝
Tipriest_4 小时前
torch训练出的模型的组成以及模型训练后的使用和分析办法
人工智能·深度学习·torch·utils
QuiteCoder4 小时前
深度学习的范式演进、架构前沿与通用人工智能之路
人工智能·深度学习
周名彥4 小时前
### 天脑体系V∞·13824D完全体终极架构与全域落地研究报告 (生物计算与隐私计算融合版)
人工智能·神经网络·去中心化·量子计算·agi
散峰而望4 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
CoderCodingNo4 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
我有一些感想……4 小时前
An abstract way to solve Luogu P1001
c++·算法·ai·洛谷·mlp
前端小L4 小时前
双指针专题(三):去重的艺术——「三数之和」
javascript·算法·双指针与滑动窗口
MoonBit月兔5 小时前
年终 Meetup:走进腾讯|AI 原生编程与 Code Agent 实战交流会
大数据·开发语言·人工智能·腾讯云·moonbit
大模型任我行5 小时前
人大:熵引导的LLM有限数据训练
人工智能·语言模型·自然语言处理·论文笔记