Matlab实现鼠标输入控制顶点的贝塞尔曲线的绘制

%%
%绘制二维的贝塞尔曲线图

figure('name', '绘制贝塞尔曲线');
axis([-10 10 -10 10]); %设置坐标轴范围,xmin xmax ymin ymax
grid on
n = input('input the number: ');
[x, y] = ginput(n)
plot(x, y, 'b')
length_x = length(x);
length_y = length(y);
vertices = zeros(2, length_x);  %需要初始化,否则容易出现length_x只记得最高次
vertices(1, 1 : length_x) = x;
vertices(2, 1 : length_y) = y;
% bezier(vertices)
Roxanne_bezier_1(vertices)
% Roxanne_bezier_2(vertices)
function Roxanne_bezier_2(vertices)

%%
%贝塞尔几何作图法,
%vertices 为绘制的点

NumPoint = size(vertices, 2); %点的个数

x = [];
y = [];

%绘制鼠标所点击的点
plot(vertices(1, :), vertices(2, :), 'b');
hold on;
grid on;

for i = 1: 1: NumPoint
    x(i) = vertices(1, i);
    y(i) = vertices(2, i);
end

x1 = [];
y1 = [];

x2 = [];
y2 = [];
temp = 1;
for u = 0 : 0.001 : 1
    for l = 1: 1: (NumPoint + 1)
        for i = 1: 1: (NumPoi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值