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 方法/步骤 第一 ...
最新文章
- centos 安装2个mysql_CentOs服务器下安装两个个MySql数据库踩坑日记
- 亿万级图数据库 Nebula Graph 的数据模型和系统架构设计
- Centos下使用Docker部署asp.net core项目
- 北京/上海内推 | 字节跳动AI Lab招聘NLP算法模型优化方向实习生
- Codeforces Gym 100286I iSharp 模拟
- spark集群搭建整理之解决亿级人群标签问题
- js函数、事件、补充知识
- Linux C enum
- python可视化(十种常用图)
- HDU 2079 (母函数)
- 批量删除QQ空间说说代码
- python贡献度分析以及相关性分析小例子
- 网吧电影视频服务器架设完全入门教程(转)
- RS232接口转USB接口的通信方法
- 网络线上教育快速发展,CDN高防能否胜任服务器安全防护任务?
- 智能时代为什么需要区块链技术?
- XGBOOST + LR 模型融合 python 代码
- Jsoup组件抓取HTML标签
- SAP 收货相关后台配置
- 浙大计算机学些什么,浙江大学首批招收人工智能专业 学什么,要怎么教?
热门文章
- 用 Ninja and GN 来加速 C++构建
- 蛮力法-分治法-处理最近对问题
- 微医网爬虫(一) java实现
- word 中公式显示不全行距调整
- STM32F0xx_PWR低功耗配置详细过程
- [.NET基础]走进各种位运算
- dropout_keep_prob
- 「面试必背」Redis面试题(2022最新版)
- java生成算数表达式_惊!小学生要失业了,Java实现生成并计算四则运算表达式。...
- 完善三维全栈产品布局 的卢深视用三维全栈技术点亮2020全球智博会