空间中常见曲面图形的绘制(matlab)

文章目录

  • 旋转单叶双曲面
  • 旋转双叶双曲面
  • 旋转椭球面
    • 抛物柱面
    • 椭圆柱面
    • 双曲柱面
      • 椭圆锥面
      • 椭球面
      • 单叶双曲面
      • 双叶双曲面
      • 椭圆抛物面
      • 双曲抛物面

旋转单叶双曲面

%%%旋转单叶双曲面
%%颜色可以自行调整
a=2;
c=1;
phi=0:0.1:2*pi+0.1;
theta=(-1:0.1:1)';
x=a*cosh(theta)*cos(phi);
y=a*cosh(theta)*sin(phi);
z=c*sinh(theta)*ones(size(phi));
figure
surf(x,y,z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[c*1.5,-c*1.5],'linewidth',2);
line([0,0],[a*1.5,-a*1.5],[0,0],'linewidth',2);
line([a*1.5,-a*1.5],[0,0],[0,0],'linewidth',2);
axis equal

旋转双叶双曲面

%%%旋转双叶双曲面
%%颜色可以自行调整
a=2;
c=1;
phi=0:0.1:2*pi+0.1;
theta=(0:0.1:2)';
x=a*sinh(theta)*cos(phi);
y=c*sinh(theta)*sin(phi);
z=c*cosh(theta)*ones(size(phi));
figure
surf(z,y,x)
hold on
surf(-z,y,x)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[5,-5],'linewidth',2);
line([0,0],[5,-5],[0,0],'linewidth',2);
line([5,-5],[0,0],[0,0],'linewidth',2);

旋转椭球面

%%%旋转椭球面
%%颜色可以自行调整
a=3;
c=1;
phi=0:0.1:2*pi;
theta=phi';
x=a*sin(theta)*cos(phi);
y=a*sin(theta)*sin(phi);
z=c*cos(theta)*ones(size(phi));
figure
surf(x,y,z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[c*1.5,-c*1.5],'linewidth',2);
line([0,0],[a*1.5,-a*1.5],[0,0],'linewidth',2);
line([a*1.5,-a*1.5],[0,0],[0,0],'linewidth',2);
axis equal

抛物柱面

%%%抛物柱面
%%颜色可以自行调整
a=1;
x=-5:0.1:5;
y=x.^2/2;
z=-5:0.5:5;
X=ones(length(z),1)*x;
Y=ones(length(z),1)*y;
Z=z'*ones(1,length(x));
figure
hold on
surf(X,Y,Z)
hold on
grid on
surf(-X,Y,Z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[5.5,-5.5],'linewidth',2);
line([0,0],[5.5,-5.5],[0,0],'linewidth',2);
line([5.5,-5.5],[0,0],[0,0],'linewidth',2)
axis equal
view(73,27)

椭圆柱面

%%%椭圆柱面
%%颜色可以自行调整
a=4;
b=2;
theta=0:0.1:2*pi+0.1;
x=a*cos(theta);
y=b*sin(theta);
z=-5:0.5:5;
X=ones(length(z),1)*x;
Y=ones(length(z),1)*y;
Z=z'*ones(1,length(x));
figure
hold on
grid on
surf(X,Y,Z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[5.5,-5.5],'linewidth',2);
line([0,0],[5.5,-5.5],[0,0],'linewidth',2);
line([5.5,-5.5],[0,0],[0,0],'linewidth',2)
axis equal
view(18,20)

双曲柱面

%%%双曲柱面
%%颜色可以自行调整
a=2;
b=1;
theta=-2:0.1:2;
x=a*cosh(theta);
y=b*sinh(theta);
z=-5:0.5:5;
X=ones(length(z),1)*x;
Y=ones(length(z),1)*y;
Z=z'*ones(1,length(x));
figure
hold on
surf(X,Y,Z)
hold on
grid on
surf(-X,Y,Z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[5.5,-5.5],'linewidth',2);
line([0,0],[5.5,-5.5],[0,0],'linewidth',2);
line([5.5,-5.5],[0,0],[0,0],'linewidth',2)
axis equal
view(18,20)

椭圆锥面

%%%椭圆锥面
%%颜色可以自行调整
a=3;
b=3;
x=-5:0.01:5;
y=-5:0.01:5;
[X,Y]=meshgrid(x,y); 
Z=sqrt(X.^2/a^2+Y.^2/b^2);
figure
surf(X,Y,Z); 
hold on
surf(X,Y,-Z); 
zlim([-1,1]);
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[2.5,-2.5],'linewidth',2);
line([0,0],[5.5,-5.5],[0,0],'linewidth',2);
line([5.5,-5.5],[0,0],[0,0],'linewidth',2)

椭球面

%%%椭球面
%%颜色可以自行调整
a=3;
b=2;
c=1;
phi=0:0.1:2*pi;
theta=phi';
x=a*sin(theta)*cos(phi);
y=b*sin(theta)*sin(phi);
z=c*cos(theta)*ones(size(phi));
figure
surf(x,y,z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[c*1.5,-c*1.5],'linewidth',2);
line([0,0],[b*1.5,-b*1.5],[0,0],'linewidth',2);
line([a*1.5,-a*1.5],[0,0],[0,0],'linewidth',2);
axis equal

单叶双曲面

%%%单叶双曲面
%%颜色可以自行调整
a=1;
b=1;
c=1;
phi=0:0.1:2*pi+0.1;
theta=(-1:0.1:1)';
x=a*cosh(theta)*cos(phi);
y=b*cosh(theta)*sin(phi);
z=c*sinh(theta)*ones(size(phi));
figure
surf(x,y,z)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[c*1.5,-c*1.5],'linewidth',2);
line([0,0],[b*1.5,-b*1.5],[0,0],'linewidth',2);
line([a*1.5,-a*1.5],[0,0],[0,0],'linewidth',2);
axis equal

双叶双曲面

%%%双叶双曲面
%%颜色可以自行调整
a=1;
b=1;
c=1;
phi=0:0.1:2*pi+0.1;
theta=(0:0.1:2)';
x=a*sinh(theta)*cos(phi);
y=b*sinh(theta)*sin(phi);
z=c*cosh(theta)*ones(size(phi));
figure
surf(z,y,x)
hold on
surf(-z,y,x)
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[5,-5],'linewidth',2);
line([0,0],[5,-5],[0,0],'linewidth',2);
line([5,-5],[0,0],[0,0],'linewidth',2);

椭圆抛物面

%%%椭圆抛物面
%%颜色可以自行调整
a=3;
b=3;
x=-5:0.01:5;
y=-5:0.01:5;
[X,Y]=meshgrid(x,y); 
Z=X.^2/a^2+Y.^2/b^2;
figure
surf(X,Y,Z); % 正半轴
zlim([-1,1]);
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[2.5,-.5],'linewidth',2);
line([0,0],[5.5,-5.5],[0,0],'linewidth',2);
line([5.5,-5.5],[0,0],[0,0],'linewidth',2)

双曲抛物面

%%%双曲抛物面
%%颜色可以自行调整
a=1;
b=1;
x=-2:0.01:2;
y=-2:0.01:2;
[X,Y]=meshgrid(x,y); 
Z=X.^2/a^2-Y.^2/b^2;
figure
surf(X,Y,Z);
alpha(0.5)
xlabel('x轴')
ylabel('y轴')
zlabel('z轴')
shading interp
line([0,0],[0,0],[2.5,-2.5],'linewidth',2);
line([0,0],[2.5,-2.5],[0,0],'linewidth',2);
line([2.5,-2.5],[0,0],[0,0],'linewidth',2)

你可能感兴趣的:(学习,学习)