调用ezsurf函数绘制圆锥面

>> ezsurf('u*sin(v)','u*cos(v)', 'u',[-2*pi,2*pi,-2*pi,2*pi])


调用ezsurf函数绘制螺面

>> ezsurf('u*sin(v)','u*cos(v)', '4*v',[-2*pi,2*pi,-2*pi,2*pi])


调用ezsurf函数绘制椭球面

>> ezmesh('3*cos(u)*sin(v)','2*cos(u)*cos(v)','sin(u)',[-2*pi,2*pi,-2*pi,2*pi])


MATLAB中提供了colormap函数,可以根据颜色映像矩阵对图形对象的色彩进行调整。所谓的颜色映像矩阵就是一个 的矩阵,k行表示有k种颜色,每行3个元素分别代表红、绿、蓝三元色的灰度值,取值均在[0,1]之间。
colormap 函数
colormap(map),设置map为当前颜色映像矩阵
colormap(‘default’),恢复当前颜色映像矩阵为默认值
cmap = colormap,获取当前颜色映像矩阵
colormap(ax,…),设置当前axes对象的颜色映像矩阵

着色方式调整

shading flat,平面着色,同一个小网格面和相应的线段用同一种颜色着色。
shading faceted,类似于shading flat,平面着色,只是网格线都用黑色,这是默认着色方式。
shading interp,通过颜色插值方式着色。
shading(axes_handle,…),为句柄值为axes_handle的坐标系内的图形对象设置着色方式。

利用alpha函数调整透明度
调用:alpha(alpha_data)
说明:alpha_data是一个介于0和1之间的数,alpha_data = 0表示完全透明,alpha_data = 1表示完全不透明,alpha_data 的值越接近于0,透明度越高

通过图形对象的“FaceAlpha”属性调整透明度
调用:set(h,‘FaceAlpha’,0.25);
说明:h为图形对象句柄,0.25是“FaceAlpha”属性的属性值,由用户随意指定。

三维图形的透视效果

>> figure;
>> [X,Y,Z] = sphere;
>> surf(X,Y,Z);
>> colormap(lines);
>> shading interp
>> hold on;
>> mesh(2*X,2*Y,2*Z)
>> hidden off
>> axis equal
>> axis off
>> figure;
>> surf(X,Y,Z,'FaceColor','r');
>> hold on;
>> surf(2*X,2*Y,2*Z,'FaceAlpha',0.4);
>> axis equal
>> axis off


light函数
light(‘PropertyName’,propertyvalue,…)
建立一个光源,并设置光源属性(Position、Color和Style)'Position’是位置属性,设置光源位置,其属性值为三个元素的向量[x, y, z],即光源的三维坐标;'Color’是颜色属性,设置光源颜色,其属性值可以是代表颜色的字符(如表3.2-1所列),也可以是由红、绿、蓝三元色的灰度值组成的向量;'Style’是光源类型属性,设置光源类型,其取值为字符串 ‘infinite’ 或 ‘local’,分别表示平行光源和点光源。
handle = light(…)
建立一个光源,并获取其句柄值handle,之后可以通过get(handle)查看光源的所有属性,也可以通过set(handle, ‘PropertyName’,propertyvalue,…)设置光源的属性值。
lighting函数
lighting flat,产生均匀光照,选择此方法,以查看面对象,是光照模式的默认设置。
lighting gouraud,计算顶点法线并作线性插值修改表面颜色,选择此方法,以查看曲面对象。
lighting phong,做线性插值并计算每个像素的反射率来修改表面颜色,选择此方法,以查看曲面对象。此方法比lighting gouraud的效果好,但是用于渲染的时间较长。
lighting none,关掉照明。
material函数
material shiny,使图形对象有相对较高的镜面反射,镜面光的颜色仅取决于光源颜色。
material dull,使图形对象有更多的漫反射,反射光的颜色仅取决于光源颜色。
material metal,使图形对象有非常高的镜面反射和非常低的环境光及漫反射,反射光的颜色取决于光源颜色和图形表面的颜色。
material([ka kd ks])
material([ka kd ks n])
material([ka kd ks n sc]),用ka、kd和ks分别设置图形对象的环境光、漫反射和镜面反射的强度,用镜面指数n控制镜面亮点的大小,用sc设置镜面颜色的反射系数。ka、kd、ks、n和sc均为标量,sc的取值介于0和1之间。
material default,恢复ka、kd、ks、n和sc的默认值。
调整视点位置

view函数
view(az,el),设置三维绘图的视角, az是方位角,el表示相对于xoy平面的仰角,。
view([x,y,z]),设置视点的三维直角坐标[x, y, z].
view(2),设置默认的二维视角,az = 0, el = 90.
view(3),设置默认的三维视角,az = -37.5, el = 30.
view(ax,…),设置句柄值为ax的坐标系的视角。
view(T),用viewmtx函数生成的 的视角转换矩阵作为输入来设置视角。
[az,el] = view,返回当前方向角和仰角。
T = view,返回一个 的视角转换矩阵。
例:绘制带光照的花瓶。

>> t=0:pi/20:2*pi;
>> [x,y,z]= cylinder(2+sin(t),100);
>> surf(x,y,z);
>> xlabel('X'); ylabel('Y'); zlabel('Z');
>> set(gca,'color','none');
>> shading interp;
>> colormap(copper);
>> light('Posi',[-4 -1 0]);
>> lighting phong;
>> material metal;
>> hold on;
>> plot3(-4,-1,0,'p','markersize', 18);
>> text(-4,-1,0,'光源','fontsize',14,'fontweight','bold');


例:绘制一个透明的立方体盒子,里面放红色、蓝色和黄色三个球。

>> vert = [0 0 0;0 200 0;200 200 0;200 0 0;0 0 100;0 200 100;200 200 100;200 0 100];
>> fac = [1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
>> view(3);
>> h = patch('faces',fac,'vertices',vert,'FaceColor','g');
>> set(h,'FaceAlpha',0.25);
>> hold on;
>> [x0,y0,z0] = sphere;
>> x = 30 + 30*x0; y = 50 + 30*y0; z = 50 + 30*z0;
>> h1 = surf(x,y,z,'linestyle','none','FaceColor','r','EdgeColor','none');
>> x = 110 + 30*x0; y = 110 + 30*y0; z = 50 + 30*z0;
>> h2 = surf(x,y,z,'linestyle','none','FaceColor','b','EdgeColor','none');
>> x = 110 + 30*x0; y = 30 + 30*y0; z = 50 + 30*z0;
>> h3 = surf(x,y,z,'linestyle','none','FaceColor','y','EdgeColor','none');
>> lightangle(45,30);
>> lighting phong;
>> axis equal;
>> xlabel('X'); ylabel('Y'); zlabel('Z');

MATLAB---三维绘制函数实例介绍相关推荐

  1. 如何用python画函数图像_使用python的pyplot绘制函数实例

    简介 本文主要介绍如何通过pyplot来绘制函数图.主要绘制函数如下: - 一元一次函数 - 一元二次函数 - 指数函数 - 自然对数函数 - 正弦函数 一元一次函数 代码 import matplo ...

  2. 用matlab绘制函数图形,matlab函数绘制 用matlab怎样绘制函数图形

    用matlab怎样绘制函数图形 函数f(x1,x2)= x1*cos x2*sin x1+x2*x2*sin x2*cos x1 0≤xi≤2∏的图形?x=0:0.1:2*pi; y=x; [x,y] ...

  3. 两个同时comet matlab,matlab 三维绘制

    1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...

  4. matlab 三维绘制

    1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...

  5. MATLAB三维画图函数使用总结

    简介: 接上一篇,本篇主要是三维画图函数使用总结.在某些数据处理场景中,将数据处理成三维图形会使问题变得更加明晰. 三维绘图函数总结: 代码实现: [注]每个绘图函数都至少有一个使用实例.注意使用时将 ...

  6. Matlab中绘制函数图像的技巧

    Matlab拥有非常powerful的绘图功能,如果能够好好利用可以使得工作量大大得以简化,本文主要介绍如何用其来绘制2D的函数图形,也涉及其中的许多技巧. 1.基本绘图从赋值和plot()函数开始 ...

  7. 在matlab内绘制函数图像

    1 函数图像1 详细情况可参考matlab的帮助文档 对于函数 建立如下,程序: 程序1: function dy = rigid(t,y) dy = zeros(3,1); % a column v ...

  8. matlab绘制函数的图像,在matlab内绘制函数图像

    1 函数图像1 详细情况可参考matlab的帮助文档 对于函数 建立如下,程序: 程序1: function dy = rigid(t,y) dy = zeros(3,1); % a column v ...

  9. explode php,php中的explode()函数实例介绍

    PHP是功能强大的网站开发工具之一,它包含各种用于各种目的的内置函数,其中explode()函数是一个内置函数,主要用于将字符串拆分为不同的字符串. 含义: explode()函数基于字符串分隔符拆分 ...

最新文章

  1. 我要是长得和姚明一样高,是不是也能打进NBA?
  2. (008) java后台开发之java程序中的控制结构
  3. App Store 扣费 知识产权 备忘
  4. 下载android版趣步最新版,趣步下载2021安卓最新版_手机app官方版免费安装下载_豌豆荚...
  5. 数学领域的世界顶级大佬们都在做什么科研项目?
  6. 接触到的加密算法MD5、SHA1(转)
  7. C/C++学习路线总结与分享
  8. ubuntu 19.04 修改登陆界面背景
  9. 该如何去认知Level 2 十档行情数据?
  10. 2020 中南大学研究生招生夏令营机试题(1252~1256)
  11. methodinvocationexception: property ‘driverclassname‘ threw exception; nested exception is java.lang
  12. 深度学习(二)——从零自己制作数据集到利用deepNN实现夸张人脸表情的实时监测(tensorflow实现)
  13. [SHOI2008]仙人掌图
  14. Android开机启动流程
  15. 土方工程量计算表格excel_土石方计算电子表格
  16. CAPL基础篇-----CAPL中如何对系统变量事件响应
  17. 第二届云计算大会暨大数据高峰论坛举办
  18. 算法4 Java解答 2.4.18
  19. IKBC-DC87无线连接方法
  20. 记一次虚拟机失联的奇葩经历

热门文章

  1. Word操作之插入图片自动更改大小
  2. 怎么获取公众号二维码?
  3. 宝讯网捷:拼多多商家如何做好运营?
  4. 解压文件到服务器是什么意思,linux中zip文件解压命令是什么
  5. 百度云不限速下载最新破解真好用
  6. AHRS、IMU和INS对比
  7. 对英文单词的词性标注
  8. STM32(3)——外部中断的使用
  9. 2018年南京大学计算机专业录取分数线,南京大学2018年录取分数线
  10. Python 新手入门引导。