矩阵形式的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,'*')

主要是要获得:

相关推荐
Sweet锦13 小时前
不调 Python,不装向量库:我用纯 Java 写了一套以图搜图引擎
java·人工智能·开源·图搜索
垆边人似月.13 小时前
任务混部(200 分档)
算法
fpcc13 小时前
AI和大模型—JEV模型
人工智能
weixin_4462608513 小时前
面向演进式企业AI智能体技能的持续流程级评估
人工智能
言乐613 小时前
Python区分广度优先深度优先宽度优先的区别
python·算法·深度优先·广度优先·宽度优先
量子-Alex13 小时前
【大模型后训练SFT】Finetuning with Sampling: SFT Learns Better Than You Think
人工智能·深度学习·机器学习
ForDreamMusk13 小时前
Transformer Encoder Block
人工智能·深度学习·transformer
W***259213 小时前
深度解读AI Work Agent长程任务执行的底层机制与落地边界
人工智能
打工仔折腾 AI13 小时前
LLaMA 1 到 LLaMA 3 架构演进拆解:从 RoPE、GQA 到词表扩张
人工智能·后端·python·深度学习·langchain·llama
如意猴13 小时前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法