根据以下Bezier控制顶点,取△t=0.01,按照线性计算方法,编制程序计算曲线上的点,并绘制出曲线和控制多边形。

1.题目:根据以下Bezier控制顶点,取△t=0.01,按照线性计算方法,编制程序计算曲线上的点,并绘制出曲线和控制多边形。

34.4507   64.8979   92.7423
53.2133   62.9103   78.7443
72.6174   58.5389   64.6679
90.4922   53.8726   51.7908
107.6262  50.2527   40.0300
124.3115  48.5382   29.7099
2. 源代码:

clc
%第一张图代码部分
vertices=load('C:\Users\lenovo\Desktop\5.2.txt');%读取
t=0:0.01:1;%间隔t
x=(1-t).^(NumPoint)*vertices(1,1);
y=(1-t).^(NumPoint)*vertices(1,2);
z=(1-t).^(NumPoint)*vertices(1,3);
for j=1:NumPoint w=factorial(NumPoint)/(factorial(j)*factorial(NumPoint-j))*(1-t).^(NumPoint-j).*t.^(j);
x=x+w*vertices(j+1,1);
y=y+w*vertices(j+1,2);
z=z+w*vertices(j+1,3);
end
plot3(vertices(:,1),vertices(:,2),vertices(:,3),'r');
hold on;
grid on;
axis tight; 
xlabel('X');ylabel('Y');zlabel('Z');
plot3(x,y,z,'b');
view(3);%默认方向视图

%下面图代码部分
%1分图
ax1 = subplot(1,3,1);
plot3(vertices(:,1),vertices(:,2),vertices(:,3),'r');
hold on;
plot3(x,y,z,'b');
%2分图
ax2 = subplot(1,3,2);
plot3(vertices(:,1),vertices(:,2),vertices(:,3),'r');
hold on;
plot3(x,y,z,'b');
%3分图
ax3 = subplot(1,3,3);
plot3(vertices(:,1),vertices(:,2),vertices(:,3),'r');
hold on;
plot3(x,y,z,'b');
%视图方向定义
view(ax1,45,45); title(ax1,'view(0,90)');
view(ax2,90,0); title(ax2,'view(90,0)');
view(ax3,0,0); title(ax3,'view(0,0)');

3.结果和导出图:

在这里插入图片描述
              图1.三维默认方向绘制线
在这里插入图片描述
              图2.各向观察图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值