相信不少程序猿在情人节,被女票要求用程序语言编写表白程序。我参考网上的资料,用matlab编写了心跳的动画。

下图是网上流传的心形数学表达式:

我觉得最后一个表达式跟传统的心形是最像的,这个表达式是用极坐标表示的,编写和控制极为方便。第二个心形表达式也比较像,但是这个表达式使用了隐函数,编写并控制起来不容易。

由于最后一个心形图案的中心点在十字交叉部分,要让心形图案跳动起来,只需要控制心形图案随时间变化而改变大小。为了打造生动的跳动动作,我用分段三角函数来模拟跳动幅度,当然也可以直接提供你自己心跳的曲线函数。

Matlab中提供movie函数用于制作动画,以及cla函数用于擦除所有当前绘制的图案。为了效率可以只擦除必要的部分。

gcp=figure;
M=moviein(100,gcp);
heartSpeed=15;
radiusRate=3;for i = 1:100axis([-20 20 -20 20]);cla(gcp);x=[];y=[];for t = 0:0.01:2*pir=(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))];endhold on;fill(x,y,'r');M(:,i)=getframe;
end
movie(M,1);
function ratio=HeartRate(i,heartSpeed)
i=mod(i,heartSpeed);
if i < heartSpeed / 2ratio=sin( i/heartSpeed*pi);
elseif i >= heartSpeed / 2 && i < heartSpeed * 3/4ratio=2*cos(i/heartSpeed*2/3*pi);
elseratio = 0;
end

在很多计算机图形学领域里面,sin函数经常被用来模拟现实中的振动和波动,比如nehe的opengl教程里面,可以用sin函数模拟人走路时身体的上下摆动。

Matlab绘制跳动的心相关推荐

  1. 用matlab绘制跳动的心

    用matlab绘制跳动的心(自学留存) https://blog.csdn.net/JasonTube/article/details/108206616?utm_medium=distribute. ...

  2. matlab跳动的心脏,Matlab绘制跳动的心

    相信不少程序猿在情人节,被女票要求用程序语言编写表白程序.我参考网上的资料,用matlab编写了心跳的动画. 下图是网上流传的心形数学表达式: 我觉得最后一个表达式跟传统的心形是最像的,这个表达式是用 ...

  3. 利用MATLAB绘制各种表白心形-跳动心形

    利用MATLAB绘制各种表白心形♥ 跳动三维心形 表白情人节必备 面向工科屌丝男 固定心形的各种画法见下面连接 链接: https://blog.csdn.net/weixin_44044161/ar ...

  4. 利用MATLAB绘制各种表白心形-固定心形

    利用MATLAB绘制各种表白心形♥ 第一种 固定三维心形 f=@(x,y,z)(x.^2+ (9./4).*y.^2 + z.^2 - 1).^3 -x.^2.*z.^3 - (9./80).*y.^ ...

  5. 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( ...

  6. Matlab实现“跳动的心”动画效果(wzl)

    首先编写使心脏跳动的函数heart(X): function heart(X) k_=1; %旋转最大的角度 [0.5,1] dt=.08; %时间间隔 t=0; %初始时间 while t<= ...

  7. MATLAB绘制主函数动态图,matlab绘制动态图

    mathematica绘制动态图,"绘图之王"争霸赛--Excel才是绘图王道,matlab绘制动态图,动态三维图绘制 matlab动态图画法_数学_自然科学_专业资料.Matla ...

  8. 如何用matlab绘制心形线,心形线的matlab程序

    cosθ的心形线图像 图 2 ρ = 0.5 + cosθ的心形线图像 图 5 ρ = 1 ? cosθ的心形线图像 Matlab 绘制,附代码: theta=0:0.1:2*pi; rho1=1-. ...

  9. matlab绘制心形函数

    matlab 7.0 绘制二维.三维心形函数 又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先不要激动,假 ...

  10. 用matlab跳动的心,[ 教程 ] 用Arduino制作一个跳动的心

    步骤4: 连接点阵屏的第二部分 这里分2部分 Arduino引脚: 13 12 11 10 点阵屏下面一排引脚: 1 2 3 4 接下来 Arduino引脚: A2 A3 A4 A5 点阵屏下面一排引 ...

最新文章

  1. 使用css实现瀑布流的效果
  2. Spring MVC系列[1]—— HelloWorld
  3. Machine Learning No.7: Support Vector Machines
  4. zz bond配置网络: 两个网卡一个ip
  5. php composer 安装,composer安装的方法步骤(图文)
  6. windows服务器的DDOS防御,
  7. jithub使用整理资料
  8. MyBatis 多表关联相同字段的解决方案
  9. java socket程序应用_socket应用小程序
  10. 计算机wind10切换桌面wind7系统,win10多桌面切换的方法以及开启步骤是怎样的
  11. Android MTP 模式 驱动无法安装解决方案
  12. 网络/Network - 应用层 - HTTP - GET 通过 Body 来发送数据 - 学习/实践
  13. MVP模式——Okhttp实现下载图片并带有进度 【Android Demo】
  14. RS485芯片与单片机接口中的一个容易忽略的隐患
  15. factoryio-2.3.1虚拟仿真实验室软件
  16. 文件搜索工具ProFind for Mac
  17. MP4、 MPEG-4区别
  18. poj-3295 Tautology
  19. c++ zlib加密压缩文件详细介绍与代码演示
  20. 2020-11-07 Mybatis

热门文章

  1. 计算机用户名怎么改好听,电脑版本优酷视频如何设置呢称_昵称起名
  2. 采购者具体负责的问题
  3. matlab clc,close,close all,clear,clear all,clf 作用区别
  4. 射频工程师——中兴笔试题
  5. 科学计算方面的计算机应用,计算机在科学计算方面的应用
  6. c# 监听 Modern Standby 下的电源状态(Sleep mode)
  7. python excel openpy_python处理excel文件
  8. 伊利诺伊计算机专业本科好入吗,伊利诺伊大学香槟分校本科有计算机专业吗?...
  9. Python3入门机器学习之2.8scikit-learn中的Scaler
  10. 架设自己的邮件服务器