用Python制作会跳动的心,体验理工男李峋的浪漫
前言
最近有个剧挺火的 就是那个程序员的剧,叫什么温暖你来着
咳咳,剧情我没怎么看,但是吧,里面有个爱心代码,最近可是蛮火的,今天就用Python来尝试一下吧
搞这个表白也是不错滴,之前还写了篇
也不错哈哈,可以去看看~
好了,话不多说,现在开始代码部分
代码
模块导入
import random
from math import sin, cos, pi, log
from tkinter import *
小小细节
CANVAS_WIDTH = 640 # 画布的宽
CANVAS_HEIGHT = 480 # 画布的高
CANVAS_CENTER_X = CANVAS_WIDTH / 2 # 画布中心的X轴坐标
CANVAS_CENTER_Y = CANVAS_HEIGHT / 2 # 画布中心的Y轴坐标
IMAGE_ENLARGE = 11 # 放大比例
HEART_COLOR = "#ff8181" # 心的颜色,芜湖我喜欢的粉色
生成器
python学习交流Q群:770699889 ### 源码领取
def heart_function(t, shrink_ratio: float = IMAGE_ENLARGE):"""“爱心函数生成器”:param shrink_ratio: 放大比例:param t: 参数:return: 坐标"""# 基础函数x = 16 * (sin(t) ** 3)y = -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))# 放大x *= shrink_ratioy *= shrink_ratio# 移到画布中央x += CANVAS_CENTER_Xy += CANVAS_CENTER_Yreturn int(x), int(y)
内部扩散
def scatter_inside(x, y, beta=0.15):"""随机内部扩散:param x: 原x:param y: 原y:param beta: 强度:return: 新坐标"""ratio_x = - beta * log(random.random())ratio_y = - beta * log(random.random())dx = ratio_x * (x - CANVAS_CENTER_X)dy = ratio_y * (y - CANVAS_CENTER_Y)
python学习交流Q群:770699889 ### 源码领取return x - dx, y - dy
抖动
def shrink(x, y, ratio):"""抖动:param x: 原x:param y: 原y:param ratio: 比例:return: 新坐标"""force = -1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.6) # 这个参数...dx = ratio * force * (x - CANVAS_CENTER_X)dy = ratio * force * (y - CANVAS_CENTER_Y)return x - dx, y - dy
调整跳动周期
def curve(p):"""自定义曲线函数,调整跳动周期:param p: 参数:return: 正弦"""# 可以尝试换其他的动态函数,达到更有力量的效果(贝塞尔?)return 2 * (2 * sin(4 * p)) / (2 * pi)
完整代码
太麻烦了一个个写出来
源码点击领取即可
好了,分享到这里就结束了
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/
用Python制作会跳动的心,体验理工男李峋的浪漫相关推荐
- 用Python画一个跳动的心
前情提要:用Python绘制动态变化的曲线 复杂曲线轨迹演示 源代码:爱心源码-通过Python画一颗跳动的心 有一些复杂的曲线,实则有着非常简单的表达式,比如网上流传甚广的这个 f ( x ) = ...
- 用matlab跳动的心,[ 教程 ] 用Arduino制作一个跳动的心
步骤4: 连接点阵屏的第二部分 这里分2部分 Arduino引脚: 13 12 11 10 点阵屏下面一排引脚: 1 2 3 4 接下来 Arduino引脚: A2 A3 A4 A5 点阵屏下面一排引 ...
- 【Python】《点燃我,温暖你》李峋同款爱心_python程序
目录 前言 一.效果展示 二.设备准备 三.代码呈现 前言 偶然在抖音上刷到最近很火的电视剧<点燃我,温暖你>,看到很多人都在网上找源码,侥幸在b站上看见一位up主,简单地复刻了一下. 这 ...
- Python制作爱心跳动代码,这就是程序员的烂漫吗
前言 最近有个剧挺火的 就是那个程序员的剧,叫什么温暖你来着 咳咳,剧我没怎么看,但是吧,里面有个爱心代码,最近可是蛮火的,今天就用Python来尝试一下吧 怎么说呢,用这个表白也可以的,万一她也看这 ...
- HTML爱心代码 | 一起体验理工男的极致浪漫(电视剧男主同款)
写在前面 大家好,我是陈橘又青,今天中午刷微博,看到最近<点燃我温暖你>中男主角--理工男李峋的爱心代码撩到了无数人,于是把代码开源分享给大家. 文章目录 写在前面 运行示例 完整代码 保 ...
- 跳动的心c语言源代码,电影丨跳动的心投资份额有吗?怎么投资?什么时间上映...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 国家层面对中国电影行业发展的鼓励和重视.从2015年年初到现在,传媒行业在所有分类行业里涨幅最大,表现尤为强劲;中国电影市场的持续火爆是有目共睹的文化现象 ...
- 使用css制作跳动的心
利用css动画制作跳动的心 代码如下: <!DOCTYPE html> <html lang="en"><head><meta chars ...
- c语言编程16个点阵跳动的心,Arduino点阵制作跳动的心
这次介绍的是使用8×8点阵(没有用到驱动模块,直接用Ardunio IO口控制)制作跳动的心.差不多用完所有IO口了,才能控制64个LED灯. 点阵说明 一般数码管有出厂信息:比如型号为LG5011A ...
- python绘制表情包笑脸_用micro:bit学Python ——阵列显示表情符号“笑脸跳动的心”...
本节任务要求 使用Microbit LED阵列显示表情符号 "笑脸跳动的心" 题目分析 这是一个使用Python语言完成MicroBit板载LED阵列编程的入门进阶题目,属于入门阶 ...
最新文章
- spring访问oracle数据库表,Spring访问oracle数据库配置步骤
- 端到端伪激光图像3D目标检测
- InstallShield9中开始菜单的设置
- Markdown 基础语法 记录 复制到 typora 中就可以看出来了呦,或者预览哟
- OpenStack RPM Sample 解析
- hdu1716 排列2(排列生成算法)
- STM32开发 -- 主天线和分集天线
- IBM AIX:Java进程大小监视
- 第5章-css选择器初级和背景
- 经典面试题(9):以下代码将输出什么?并解释你的答案。
- 通过谓词查找第一个元素
- 封城第12日,冰箱都快塞不下咯(附菜谱分享)
- axure图表元件mac_原型设计元件库-一库(Axure完善的原型设计元件库)- MacV
- NXP数学电机库PI控制器参数的理解
- 基于LabVIEW和PCI板卡的运动控制实现
- vb通过ado连接oracle数据库,vb ado连接oracle数据库
- tpac100控制器设置教程_ac100控制器设置方法
- 基于元数据规则的大数据解决方案
- 如何提升原创文章排名与百度冰桶算法
- 转载 钽电容起火、钽电容爆炸、钽电容烧了
热门文章
- 云创大数据总裁刘鹏教授受聘为中国大数据技术与应用联盟副理事长
- vbs脚本——检测U盘插入拨出并通过邮件报警
- dell-precision-7730笔记本工作站安装centos7.6/7.2操作系统办法(防止出现no bootable device found)
- 经典语录---助你成功的哲理
- PowerDesigned15连接MySQL出现Could not initialize JavaVM时的详细解决步骤(图文)
- matlab做概率论题,Matlab 概率论与数理统计.doc
- Windows 下创建目录链接 映射文件的方式不想改变路径直接使用映射路径的方式
- AJAX 单页面应用的两种实现思路
- Python数据分析之共享单车及建模探索(CLV建模、可视化)
- [JQuery 学习笔记] 解除事件绑定 unbind()