matlab实例——三维心心图
特别感谢
B站作者@基山督的 视频及源代码
相关推荐
二维动态心见往期
三维心心代码
hn=figure('name','心心心','color','k'); %创建一个界面,名字是心心心,界面背景是黑色
[x,y,z]=meshgrid(linspace(-3,3)); %做出网格,linspace生成-3到3之间的数值,默认100个。
F=((-(x.^2) .* (z.^3) -(9/80).*(y.^2).*(z.^3)) + ((x.^2) + (9/4).* (y.^2) + (z.^2)-1).^3); %笛卡尔坐标系下的心型函数,隐函数。高数书附录里有
isosurface(F,0); %基于指定的0处的体数据 V 计算等值面数据
lighting phong %光照模式。
axis equal %等比坐标轴
axis off %去除坐标轴
%brighten(0); %增加亮度
a=[1 1 1];
colormap(a); %设置心心的颜色和a代表的rgb颜色相同
view([0 1800]); %代表打开时的视角
练习三维球
T1=figure('name','xiazuo','color','w'); %设置一个名为“正方体”的窗口,背景颜色为黑色
[x,y,z]=meshgrid(linspace(-3,3));
F=(x.^2+y.^2+z.^2+x+y+z);
isosurface(F,0); %隐函数绘图
lighting phong%不要加“;”
axis equal%不要加“;”
axis off%不要加“;”
A=[0 1 1];
colormap(A);
view([30,90]);
一、isosurface
isosurface函数可以画隐函数的等值曲线或曲面
二、meshgrid
于生成网格采样点的函数。在使用MATLAB进行3D图形绘制方面有着广泛的应用。
三、光源位置及照明模式
在绘制带光照的三维图像时,可以利用light命令与lightangle命令来确定光源位置。
1.light函数
- 函数调用:light(‘color’, s1, ‘style’, s2, ‘position’, s3)
- 含义:其中color、style与position的位置可以互换,s1,s2,s3为相应的可选值。例如light(‘position’,[1 0 0])表示光源从无穷远处沿x轴向原点照射过来。
2.lightangle函数
- 函数调用:
- lightangle(az,el): 在由方位角和仰角确定的位置放置光源
- light_handle= lightangle(az,el) :创建一个光源位置并在light_handle中返回light的句柄
- lightangle(light_handle,az,el) :设置由light_handle确定的光源位置
- [az,el] = lightangle(light_handle) :返回由light_handle确定的光源位置的方位角和仰角
3.lighting照明函数
- lighting flat :在对象的每个面上产生均匀的灯光。选择此方法可查看镶嵌面对象。
- lighting gouraud :计算顶点法线并沿面进行线性插值。选择此方法可查看曲面。
- lighting phong :在每个面上插值顶点法线并计算每个像素处的反射率。选择此选项可查看曲面。Phong lighting通常比Gouraud lighting产生更好的效果,但渲染需要更长的时间
- lighting none :关闭照明
四:均分计算指令
- 调用函数:
- logspace(a, b, n):生成一个数组,数据的第一个元素值为a,最后一个元素为b,n是总采样点数。需要注意的是,此时产生的数组元素在10a到10b上并不是均匀分布的,而形成一个对数曲线。
- logspace(x1,x2):用于产生x1,x2之间的N点行线性的矢量。
matlab实例——三维心心图相关推荐
- 【matlab】三维网格曲面图(mesh的用法)
[matlab]三维网格曲面图(mesh的用法) 语法: mesh(X,Y,Z): 具体可以看代码: >> Z=ones(size(x)); >> [X,Y]=meshgrid ...
- MATLAB绘制三维曲面图和等高线 绘图(2)
绘制三维曲面图步骤: 1): 对数据进行处理,得到三维曲面上的点坐标组 方法有: 1.将自变量离散, x=xmin:dx:xmax y=ymin:dy:ymax 2.利用meshgrid 指令 生成 ...
- matlab绘制三维奖杯图,我是如何获得“MathorCup”奖杯与万元奖金的?
数学建模竞赛为我们打开了一扇窗,把我们的目光从书本引向充满新奇的世界. 建模竞赛除了拓宽我们的眼界.提高了眼界.发掘了潜质.增强了信心,更是造就了我们独立.开阔.浓缩思考成功研究者的灵魂. 在选择人生 ...
- matlab画三维约束图命令,Matlab画三维图的方法
三维曲线的画法 三维空间曲线要用到plot3函数,这个和plot类似.plot3函数有三个参数,x,y和z轴,比如下面的例子: >> T = -2:0.01:2; >> plo ...
- 三维曲面matlab程序,用matlab画三维曲面图 - 程序语言 - 小木虫 - 学术 科研 互动社区...
数据直接贴出来了 1000 150.4 173 1000 132 172.9 1000 120 171 1000 ...
- matlab绘制三维奖杯图,有MATLAB的帮忙运行一下
满意答案 z681wmb233 2013.06.12 采纳率:42% 等级:12 已帮助:3851人 >> [T,Y]=ode23('fun1',[0,6],0.2) [T,Y]=o ...
- matlab3d绘图实例,matlab各种三维绘图及实例
matlab各种三维绘图及实例 Matlab绘制三维图形三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,-,xn,y ...
- matlab画三维图和等高线,matlab画三维等高线图
MATLAB 三维绘图功能二维图形 ? 三维图形 图形色彩处理 句柄图形技术 图像显示技术 动画制作 三维绘图三维绘图的主要功能: 绘制三维线图 绘制等高线图 绘制伪彩色图 ...... 三维线图指令 ...
- Matlab来绘制三维曲面图、等高线图等
文章目录 前言 一.Matlab插值 1.Meshgrid函数 2.Griddata函数 二.绘制 1.使用函数 (1)linspace函数 (2)peaks函数 (3)polt3函数 (4)mesh ...
最新文章
- 【Java】多线程编程(并发编程)基础(上)
- 生物系统和疾病的多组学数据整合考虑和研究设计
- 用Java实现单向链表
- php -- 用文本来存储内容,file_put_contents,serialize,unserialize
- strspn php,php返回在字符串中包含 charlist 参数中指定的字符数目的函数strspn()
- pandas之groupby分组与pivot_table透视
- linux --常用命令
- .net+mysql关闭连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
- 随想录(关于smp的均衡负载)
- 交待给你的事办完了,就不能回个话么?
- 基于51单片机的交通灯原理图加代码
- c语言ax2bxc0的求根公式,ax2+bx+c=0的求根公式
- 群晖DSM7添加套件源
- 时空数据生成对抗网络研究综述(上)
- Caused by: java.lang.IllegalStateException: Process 9461 exceeded cursor quota 100, will kill it
- Python自动化 requests 库:发送 form-data 格式的 http 请求
- P1567 统计天数(洛谷)
- 从利用gensim 训练好的word2vec模型中取出向量并计算余弦相似度,Levenshtein distance 计算
- 仿新浪抢工长装修招标网站源码
- Directory Opus Pro v12.29.8272 文件管理资源管理器工具专业版
热门文章
- c#读取CSV格式文件
- 9月17日科技联播:刘强东缺席世界人工智能大会,腾讯QQ宠物已正式停止运营...
- 英文论文润色软件和公司
- 数字逻辑实验篇_logisim模拟
- windows server 服务器基本操作
- jaca和mysql外卖系统_Maven+springmvc+spring+mybatis+mysql+dubbo+redis高仿饿了吗外卖点餐系统...
- Re 0: C++ 003 变量
- 【CF 应用开发大赛】英雄
- 做笔记有什么好处?猿辅导老师讲解为什么要记笔记
- linux开机自动加载igb模块,linux – 使用intel igb(已解决)在3/5 raid6 iSCSI NAS设备上的第一个RX队列上丢弃100%数据包...