MATLAB课时训练2

1.设计目的 

利用 MATLAB 绘制三维立体图像,并实现图像的可视化操作

  1. 设计题目涉及的理论知识 

绘制三维立体圆锥,首先要理解matlab中绘制三维曲面的函数,并了解其调用形式,以及各个参数的意义。

(1)绘制圆锥

z=cplxgrid(50);      %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
x=real(z);
y=imag(z);
fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz
 
h = surf(x,y,fz);
xlabel('x轴','FontSize',10);                    %xlabel是指横坐标
ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标
zlabel('z轴','FontSize',10);      

(2)向前旋转

z=cplxgrid(50);       %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
x=real(z);
y=imag(z);
fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz
 
h = surf(x,y,fz);
xlabel('x轴','FontSize',10);                    %xlabel是指横坐标
ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标
zlabel('z轴','FontSize',10);                    %zlabel是指竖坐标direction = [1 0 0];                            %定义图像旋转的轴
 rotate(h,direction,90)                         %调用rotate函数,旋转图像

(3)向后旋转

z=cplxgrid(50);       %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
x=real(z);
y=imag(z);
fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz
 
h = surf(x,y,fz);
xlabel('x轴','FontSize',10);                    %xlabel是指横坐标
ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标
zlabel('z轴','FontSize',10);                    %zlabel是指竖坐标direction = [1 0 0];                            %定义图像旋转的轴
 rotate(h,direction,-90)                         %调用rotate函数,旋转图像

(4)向左旋转

z=cplxgrid(50);       %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
x=real(z);
y=imag(z);
fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz
 
h = surf(x,y,fz);
xlabel('x轴','FontSize',10);                    %xlabel是指横坐标
ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标
zlabel('z轴','FontSize',10);                    %zlabel是指竖坐标
direction = [0 1 0];                            %定义图像旋转的轴
 rotate(h,direction,-90)                         %调用rotate函数,旋转图像

(5)向左旋转

源代码

z=cplxgrid(50);       %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部

x=real(z);

y=imag(z);

fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz



h = surf(x,y,fz);

xlabel('x轴','FontSize',10);                    %xlabel是指横坐标

ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标

zlabel('z轴','FontSize',10);                   %zlabel是指竖坐标

direction = [0 1 0];                            %定义图像旋转的轴

 rotate(h,direction,90)                         %调用rotate函数,旋转图像

(6)多种类型的三维表示

z=cplxgrid(50);       %在复平面上面得到一个21*41的网格,x,y分别为其实部和虚部
x=real(z);
y=imag(z);
fz=sqrt((x.^2+y.^2));                          %圆锥公式,z^2=x^2+y^2来求fz
 
% h = surf(x,y,fz);
mesh(x,y,fz);
xlabel('x轴','FontSize',10);                    %xlabel是指横坐标
ylabel('y轴','FontSize',10);                    %ylabel是指纵坐标
zlabel('z轴','FontSize',10);                    %zlabel是指竖坐标
 
subplot(221)                       %创建4个子图。这是第一个
a=mesh(x,y,fz);                    %绘制三维网线图
hold on                            %保持当前图像不刷新
 
 
subplot(222);                     %创建4个子图。这是第二个
b = surf(x,y,fz);                   %绘制三维曲面图
hold on                            %保持当前图像不刷新
 
 
 
subplot(223);                         %创建4个子图。这是第三个
c = plot3(x,y,fz);                    %创建三维线图
hold on
 
 
subplot(224);                           %创建4个子图。这是第四个
d = surf(x,y,fz);                       %绘制带有渲染效果的曲面图
 l = light;                             %灯照函数句柄
l.Color = [0 1 0];                      %灯的颜色
l.Position = [1 0 1];                 
 hold on

三  结论(结果分析) 

Matlab对于三维图像的绘制有着天然的优势,着得益于他庞大的函数库,能够很好的将图像的特点,特征,以及不同之处较为明显的体现出来,非常适合于对于图像的分析和表示,合理应用各类函数可以还能好的帮助表现表现图像特点。

四  心得体会

 matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。

matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值