开源表白爱心代码程序员专属的浪漫

发布于:2022-11-11 ⋅ 阅读:(1980) ⋅ 点赞:(2)

⭐简介


前段时间《点燃我温暖你》爆火,许多女生都被那一段爱心代码给深深吸引,看的我手也有点痒痒。我不得也写一个?

表白爱心代码
是的,我也写了。


⭐仓库链接


❤️爱的仓库❤️

Github-爱的仓库: https://github.com/MR-XieXuan/Love-Warehouse
Github-Love.js:https://github.com/MR-XieXuan/Love-Warehouse/blob/main/PeachHearts/Love.js

💞 爱的仓库是我新建的仓库,打算以后放一些浪漫的代码。
✍如果你们有好浪漫的代码也可以提交在我的仓库里收集起来。


⭐代码讲解


🛠所用工具

💡数学准备

❤️ 桃心的数学公式

这个公式可以得到一个桃心,点 point(x,y) 都在桃心上

🤍 { x = 16 s i n 3 t ; y = 13 c o s t − 5 c o s 2 t − 2 c o s 3 t − c o s 4 t ; 🤍 \left\{ \begin{aligned} x & = 16sin^3t; \\ y & = 13cost- 5cos2t - 2cos3t -cos4t; \\ \end{aligned} \right. 🤍{xy=16sin3t;=13cost5cos2t2cos3tcos4t;
🎵点的生成

点就是这个程序的音符 如果点都在桃心上的话,未免太难看了点。
所以我们采用一个范围在[0,1]的随机数 random 来生成点的初始位置。
但是如果点均匀的发布在桃心内部,效果属实不太理想,所以我们采用一个映射。
通过random生成一个数 rand 使得 rand 大多数都靠近与 1 .通过测试,我取了下面的公式

🎵 r a n d = r a n d o m 3 25 🎵rand=random^{\frac{3}{25}} 🎵rand=random253

🎶 点的运动

通过以下的公式来对点进行运动
t i m e time time 是现在的帧数
( x , y ) (x,y) (x,y)为初始位置
( x ′ , y ′ ) (x',y') (x,y)为当前帧的位置

🎶 { x ′ = x c o s 6 t i m e − 30 30 ∗ ( t i m e − 30 ) 60 ; y ′ = y c o s ( ( t i m e − 30 ) / 60 ) ; 🎶 \left\{ \begin{aligned} x' & = x cos^6\frac{time - 30}{30}*\frac{(time - 30)}{60}; \\ y' & = y cos((time - 30) / 60); \\ \end{aligned} \right. 🎶xy=xcos630time3060(time30);=ycos((time30)/60);

👋 联系作者

✍️本文作者为 > 【谢玄.】 Mr-XieXuan < 于 2022/11/10/3:00 发布于 CSDN 。

📧E-mail: [ Mr_Xie_@outlook.com ]
⌨️GitHub: [ https://github.com/MR-XieXuan }
🔍个人私站: [ https://main.mrxie.xyz/ ]


网站公告

今日签到

点亮在社区的每一天
去签到