MATLAB绘制三维图形的函数中,最基本的三维图形函数为plot3函数,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。
plot3函数的基本语法
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,
则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。
plot3(X,Y,Z) 绘制三维空间中的坐标。
要绘制由线段连接的一组坐标,请将 X、Y、Z 指定为相同长度的向量。
要在同一组坐标轴上绘制多组坐标,请将 X、Y 或 Z 中的至少一个指定为矩阵,其他指定为向量。
plot3(X,Y,Z,LineSpec) 使用指定的线型、标记和颜色创建绘图。
plot3(X1,Y1,Z1,...,Xn,Yn,Zn) 在同一组坐标轴上绘制多组坐标。
使用此语法作为将多组坐标指定为矩阵的替代方法。
plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn)
可为每个 XYZ 三元组指定特定的线型、标记和颜色。可以对某些三元组指定 LineSpec,
而对其他三元组省略它。例如,plot3(X1,Y1,Z1,'o',X2,Y2,Z2) 对第一个三元组指定标记,
但没有对第二个三元组指定标记。
plot3函数的使用实例
实例1:三维函数的参数方程绘图实例
程序
clc;
clear all;
close all;
t=0:pi/66:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(x,y,z,'rp');
title('Line in 3-D Space');
text(0,0,0,'origin');
xlabel('X');
ylabel('Y');
zlabel('Z');grid;
运行结果
实例2
程序
clc;
clear all;
close all;
t = 0:pi/1000:pi;
X(1,:) = sin(t).*cos(10*t);
X(2,:) = sin(t).*cos(12*t);
X(3,:) = sin(t).*cos(20*t);
Y(1,:) = sin(t).*sin(10*t);
Y(2,:) = sin(t).*sin(12*t);
Y(3,:) = sin(t).*sin(20*t);
figure
Z = 2*sin(t);
plot3(X,Y,Z);
xlabel('X');
ylabel('Y');
zlabel('Z');
grid on;
运行结果
实例3
程序
clc;
clear all;
close all;
t = 0:pi/1000:80*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);
figure;
subplot(1,2,1);
plot3(xt,yt,zt,'r')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
t = 0:pi/1000:80*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);
subplot(1,2,2);
plot3(xt,yt,zt,'b')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')
运行结果
实例4
程序
clc;
clear all;
close all;
t = 0:pi/50:10*pi;
xt = 2*sin(t);
yt = 2*cos(t);
zt = t;
plot3(xt,yt,zt,'-o','Color','b','MarkerSize',10,'MarkerFaceColor','#D9FFFF')
xlabel('x')
ylabel('y')
zlabel('z')
运行结果
实例5
程序
clc;
clear all;
close all;
t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
xt2 = sin(2*t);
yt2 = cos(2*t);
figure;
plot3(xt1,yt1,t,'r-*',xt2,yt2,t,'b--')
xlabel('x')
ylabel('y')
zlabel('z')
运行结果
实例6
程序
clc;
clear all;
close all;
t = linspace(-10,10,500);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
figure;
p = plot3(xt,yt,t,'-o');
p.LineWidth = 1;
p.MarkerSize = 5;
p.MarkerFaceColor = '#D9FFFF';
xlabel('x')
ylabel('y')
zlabel('z')
运行结果
实例7
程序
clc;
clear all;
close all;
figure;
ax1 = subplot(1,2,1);
t=0:pi/66:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(ax1,x,y,z,'rp');
title('Line in 3-D Space');
text(0,0,0,'origin');
xlabel('X');
ylabel('Y');
zlabel('Z');grid;
title(ax1,'1 plot')
ax2 = subplot(1,2,2);
t = linspace(-10,10,500);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
p = plot3(ax2,xt,yt,t,'-o');
p.LineWidth = 1;
p.MarkerSize = 5;
p.MarkerFaceColor = '#D9FFFF';
xlabel('x')
ylabel('y')
zlabel('z')
title(ax2,'2 plot')
运行结果
本文部分内容来源于MATLAB帮助文档,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙