跳动的爱心

跳动的心形图案,通过字符打印和延时效果模拟跳动,心形在两种大小间交替跳动。

通过数学公式生成心形曲线

#include <stdio.h>

#include <windows.h> // Windows 系统头文件(用于延时和清屏)

void printHeart(int size, int beat) {

for (int y = size; y >= -size; y--) {

for (int x = -size; x <= size; x++) {

// 心形数学公式:(x² + y² - 1)³ - x²y³ ≤ 0(调整参数模拟跳动)

float fx = (x * 0.4f * beat) * (x * 0.4f * beat) + (y * 0.4f) * (y * 0.4f) - 1;

if (fx * fx * fx - (x * 0.4f * beat) * (y * 0.4f) * (y * 0.4f) * (y * 0.4f) <= 0) {

printf("@");

} else {

printf(" "); // 空格填充

}

}

printf("\n");

}

}

int main() {

int beat = 1; // 跳动幅度(1-2)

while (1) {

system("cls"); // 清屏(Linux/macOS 需改为 "clear")

printHeart(15, beat); // 绘制心形(尺寸15,幅度beat)

Sleep(100); // 延时100ms

beat = (beat == 1) ? 2 : 1; // 切换跳动幅度

}

return 0;

}

相关推荐
caimouse10 小时前
ReactOS 图形系统分析(51):元文件子系统 — metafile.c
c语言·开发语言
Canmag 兴隆磁性13 小时前
C 系列充磁机
c语言·开发语言·学习·永磁材料·充磁·退磁
_Narcissus_15 小时前
排序算法总结表格
c语言·数据结构·c++·笔记·算法·排序算法·总结
小雪崩15 小时前
嵌入式学习 day27:标准IO
linux·c语言·学习
xx~t17 小时前
嵌入式——Linux软件编程2
linux·运维·服务器·c语言·学习方法
luj_176820 小时前
变频技术核心原理揭秘
服务器·c语言·开发语言·经验分享·算法
_Narcissus_20 小时前
B树概念及操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
松小白song20 小时前
嵌入式通信协议全解:UART、RS232、RS485、I²C、SPI 与 CAN 的本质区别与选型指南
c语言·开发语言
Fa_Mian_Tuan21 小时前
图论基础 | 邻接多重表原理剖析 + 完整可运行C语言代码(插边/删边/释放)
c语言·数据结构·笔记·算法·图论
_Narcissus_21 小时前
B+树的概念和操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法