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

主要是要获得:

相关推荐
AI_56785 分钟前
Webpack5优化的“双引擎”
大数据·人工智能·性能优化
CoderCodingNo16 分钟前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
LZL_SQ17 分钟前
昇腾NPU架构设计 从抽象硬件模型到物理实现
人工智能·昇腾·cann·ascend c
Liangwei Lin23 分钟前
洛谷 P1955 [NOI2015] 程序自动分析
算法
慎独41335 分钟前
家家有平台:Web3.0绿色积分引领消费新纪元
大数据·人工智能·物联网
火云牌神39 分钟前
如何选择FAISS的索引类型
人工智能·faiss
Gavin在路上43 分钟前
SpringAIAlibaba之高级特性与实战场景全解析(5)
人工智能
zwjapple43 分钟前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员1 小时前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治