matlab跳动的心脏,Matlab绘制跳动的心
相信不少程序猿在情人节,被女票要求用程序语言编写表白程序。我参考网上的资料,用matlab编写了心跳的动画。
下图是网上流传的心形数学表达式:
我觉得最后一个表达式跟传统的心形是最像的,这个表达式是用极坐标表示的,编写和控制极为方便。第二个心形表达式也比较像,但是这个表达式使用了隐函数,编写并控制起来不容易。
由于最后一个心形图案的中心点在十字交叉部分,要让心形图案跳动起来,只需要控制心形图案随时间变化而改变大小。为了打造生动的跳动动作,我用分段三角函数来模拟跳动幅度,当然也可以直接提供你自己心跳的曲线函数。
Matlab中提供movie函数用于制作动画,以及cla函数用于擦除所有当前绘制的图案。为了效率可以只擦除必要的部分。
gcp=figure;
M=moviein(100,gcp);
heartSpeed=15;
radiusRate=3;
for i = 1:100
axis([-20 20 -20 20]);
cla(gcp);
x=[];
y=[];
for t = 0:0.01:2*pi
r=(sin(t)*sqrt(abs(cos(t))))/(sin(t)+7/5)-2*sin(t)+2;
r = radiusRate * r;
x=[x,r*cos(t)*(0.5+0.5*HeartRate(i,heartSpeed))];
y=[y,r*sin(t)*(0.5+0.5*HeartRate(i,heartSpeed))];
end
hold on;
fill(x,y,'r');
M(:,i)=getframe;
end
movie(M,1);
function ratio=HeartRate(i,heartSpeed)
i=mod(i,heartSpeed);
if i < heartSpeed / 2
ratio=sin( i/heartSpeed*pi);
elseif i >= heartSpeed / 2 && i < heartSpeed * 3/4
ratio=2*cos(i/heartSpeed*2/3*pi);
else
ratio = 0;
end
在很多计算机图形学领域里面,sin函数经常被用来模拟现实中的振动和波动,比如nehe的opengl教程里面,可以用sin函数模拟人走路时身体的上下摆动。
matlab跳动的心脏,Matlab绘制跳动的心相关推荐
- html跳动的小球,canvas绘制跳动的小球
动画反弹 *{ margin:0; padding:0; } canvas1{ box-shadow: 0px 0px 10px red; position: absolute; left:50px; ...
- 用matlab绘制跳动的心
用matlab绘制跳动的心(自学留存) https://blog.csdn.net/JasonTube/article/details/108206616?utm_medium=distribute. ...
- 利用MATLAB绘制各种表白心形-跳动心形
利用MATLAB绘制各种表白心形♥ 跳动三维心形 表白情人节必备 面向工科屌丝男 固定心形的各种画法见下面连接 链接: https://blog.csdn.net/weixin_44044161/ar ...
- 【转】MATLAB的polar函数 极坐标绘制最大半径怎样设置
https://zhidao.baidu.com/question/262590480477498125.html MATLAB的polar函数 极坐标绘制最大半径怎样设置,类似于plot用axis( ...
- plotcylinder matlab,Matlab在任意两点之间绘制三维圆柱
Matlab在任意两点之间绘制三维圆柱 Matlab在任意两点之间绘制三维圆柱 此函数可能存在一些不足,请多多指教! function plotcylinder(u1,u2,color_a,r) L= ...
- matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...
如何打开simulink: 启动simulink: 先打开MATLAB软件界面 第一步打开simulink 第二步在command windows输入 simulink然后enter,等待 有很多模块 ...
- Matlab:数学之美--绘制分形图形
Matlab:数学之美–绘制分形图形 学习最好的动力是兴趣,所以我们先看看效果: 这一篇与Java学习日记:数学之美-分形图形绘制有共同之处,只是所用的工具不同. clear; %不同的参数有不同的图 ...
- MATLAB绘制笛卡尔心形线---by CSDN ChitGPT AI大模型
以下是MATLAB代码,用于绘制笛卡尔心形线: t = linspace(0, 2*pi); x = 16.*sin(t).^3; y = 13.*cos(t)-5.*cos(2*t)-2.*cos( ...
- MATLAB采用双坐标轴同时绘制柱状图和折线图
利用MATLAB同时绘制柱状图和折线图,其中柱状图表示温度,折线图表示颗粒物浓度,左侧y轴表示温度(单位摄氏度),右侧y轴表示颗粒物浓度(个/每立方米). MATLAB plotyy 方法/步骤 第一 ...
最新文章
- Python自动化开发学习6
- 测试字符串读取类: TStringReader
- [Silverlight] UI 测试/UI 自动化相关知识
- w3school-html教程笔记-1-20140227
- pycharm git gitee 如何将红色文件推送到repository?(将工作区内容添加到暂存区)(git add)
- matlab窗函数带通滤波器,Matlab结合窗函数法设计数字带通FIR滤波器
- pythoncount函数怎么用_python中count函数简单的实例讲解
- 8086指令系统 操作数地址,双操作数,单操作数,无操作数指令。一,传送类指令;二,二、算数运算类指令
- python Supervisor
- scipy.ndimage.filters.gaussian_filter()
- markdown简明使用语法
- 智能合约语言Solidity教程系列2 - 地址类型介绍
- ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新
- webdav支持的网盘对比分析
- 宁盾无线认证对接锐捷EG3220
- mysql 关键字 desc_mysql数据库表字段使用DESC等关键字报错及解决方法
- 官宣!成都链安在北京成立分部啦!
- 四叉树lod结合灯塔AOI
- android glide缺少方法,android - 无法膨胀且找不到类android支持设计的行为BottomSheetBehavior - 堆栈内存溢出...
- css实现内容两端对齐
热门文章
- 【转】objective-c基本数据类型之输出格式符
- 梁宁《产品思维》之27颠覆式创新
- STM32 启动代码分析
- asp一句话html,asp常用的一句话木马大全
- codeforces1153F Serval and Bonus Proble【期望DP】
- Leetcode—— 104. 二叉树的最大深度
- 帝国cms插件支持7.0/7.2 7.5/UTF-8 微信登入插件 一键登入
- JavaScript_BOM浏览器对象模型
- android dolphin 手柄,使用安卓手机充当PC上WII模拟器手柄
- 2019年,成年人的奔溃来得那么突然,但他们仍选择负重前行