C/C++跳动的爱心③ - 详解

news/2025/11/4 14:09:22/文章来源:https://www.cnblogs.com/yxysuanfa/p/19190128

img

写在前面

用C语言绘制一颗跳动的心——这不仅是一段代码,更是一场浪漫的表达。经过图形库与数学公式的结合,我在屏幕上复现了心脏跳动的韵律,让冰冷的算法流淌出温暖的情感。每一次脉动,都是对“爱”该字最真挚的诠释。

系列文章

序号直达链接
1C/C++李峋同款跳动的爱心
2C/C++跳动的爱心
3C/C++经典爱心
4C/C++满屏飘字
5C/C++大雪纷飞
6C/C++黑客帝国字母雨
7C/C++樱花树
8C/C++奥特曼
9C/C++精美圣诞树
10C/C++俄罗斯方块小游戏
11C/C++贪吃蛇小游戏
12C/C++孤单又灿烂的神
13C/C++闪烁的爱心
14C/C++哆啦A梦
15C/C++简单圣诞树
16C/C++小宇宙
17C/C++冰墩墩
18C/C++七彩花朵
19C/C++玫瑰花
20C/C++小猪佩奇
21C/C++简易爱心
22C/C++流星雨①
23C/C++2048小游戏
24C/C++爱心圣诞树
25C/C++文字跑马灯
26C/C++教师工作量管理系统
27C/C++满天繁星
28C/C++漂浮爱心
29C/C++五子棋小游戏
30C/C++球球大作战小游戏
31C/C++走迷宫小游戏
32C/C++粉色爱心
33C/C++棕色小熊
34C/C++粉色动态爱心
35C/C++炫酷烟花①
36C/C++炫酷烟花②
37C/C++炫酷烟花③
38C/C++炫酷烟花④
39C/C++星空漩涡
40C/C++流星雨②
敬请期待……

技术需求

  1. 图形环境初始化
  • 使用initgraph创建全屏绘图窗口,适配系统分辨率,确保视觉呈现最大化。
  • 调用setorigin将坐标原点移至屏幕中心,便于对称图形的绘制与控制。
  • 利用ShowWindow实现窗口最大化,增强沉浸式体验。
  1. 颜色与文本渲染
  • 采用RGB函数定义柔和的粉紫色像素点,营造浪漫氛围。
  • 设置settextcolorsettextstyle,使用楷体中文“我爱你”,字体大小适中,位置居中,情感直白而温柔。
  • 文本输出使用outtextxy精确定位,与心形图案协调统一。
  1. 数学建模与曲线绘制
  • 基于参数方程构建心形曲线:$ x = 16\sin^3(t),,y = - (13\cos t - 5\cos 2t - 2\cos 3t - \cos 4t) $,精确还原经典心形轮廓。
  • 通过循环遍历参数i,以极小步长(0.001)连续绘制像素点,保证曲线平滑流畅。
  1. 动态效果设计
  • 引入正弦函数控制缩放比例ratio,模拟心跳的膨胀与收缩过程,赋予静态图形生命感。
  • 在主循环中不断更新ratio值,并调用cleardevice()清除前一帧画面,实现动画连续播放。
  1. 粒子散射特效
  • 定义scatter_inside函数,在心形轨迹上随机生成内部散点,模拟光斑或情感迸发的视觉效果。
  • 利用负指数分布随机数控制散点偏移量,使粒子自然分布在心形内部区域。
  • 不同概率触发不同强度的散射(如每107次增强一次),增加动态层次。
  1. 随机性与时间控制
  • 使用srand(time(0))初始化随机种子,确保每次运行效果略有不同。
  • 所有动画无延迟控制,依赖CPU速度快速刷新,形成流畅跳动节奏。

主要代码

创作不易,订阅后可查看完整代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>#include <math.h>#include <time.h>#include <windows.h>#include <graphics.h>#pragma comment(lib,"WINMM.LIB")#define SIZE 9void scatter_inside(int xo, int yo, double beta = 0.1){double ratio_x = -beta * log(rand());double ratio_y = beta * log(rand());double x, y;x = ratio_x * xo;y = ratio_y * yo;putpixel(x, y, RGB(245, 145, 247));}void heart(int particle, double ratio, COLORREF color){double x, y;double i;for (i = 0; i <= 2 * particle; i += 0.001){x = 16 * (sin(i) * sin(i) * sin(i));y = -(13 * cos(i) - 5 * cos(2 * i) - 2 * cos(3 * i) - cos(4 * i));x = x * ratio;y = y * ratio;putpixel(x, y, color);if ((int)(i * 10000) % 7 == 0)scatter_inside(x, y);if ((int)(i * 10000) % 107 == 0)scatter_inside(x, y, 0.07);settextcolor(RGB(255, 192, 203));settextstyle(40, 0, L"楷体");outtextxy(-100, -20, L"I Love You");}}……

创作流程

我创作这段代码时,心里只有一个念头:用最理性的应用,表达最感性的情感。我想画一颗心,但不是静止的、死板的图形,而是一颗会呼吸、会跳动、带着温度的心。于是,我选择了C语言——这个常被视为“古老”“底层”的语言,来完成一场温柔的反叛。

一开始,我脑海中浮现的是数学课本上的那种心形函数。我记得它的形状优美而深情,像是宇宙写给人类的情书。我决定以它为骨架,构建整个动画的核心。但仅仅描边是不够的,我要让它活起来。就像人的心脏不会匀速跳动,真正的情感也有起伏、有节奏。于是,我引入了一个随时间变化的缩放因子,用正弦波模拟心跳的张弛:先是缓缓收缩,然后猛然扩张,仿佛每一次跳动都在用力诉说“我在乎”。

为了让画面不只是单调的红线,我想要一些点缀,像是情感溢出时的星光。于是,我在心形轨迹上设置了随机触发机制,每当参数推进到特定位置,就从当前点向内发射几个微小的光点。这些光点不是随意洒落的,而是遵循一种“越靠近中心越密集”的规律,我用负对数变换来控制它们的分布,让视觉效果更自然、更有层次。它们像是爱意迸发的瞬间火花,一闪即逝,却令人难忘。

我还想加入文字,但不想让它喧宾夺主。于是我把“I Love You”放在心的正中央,用柔和的粉色和温暖的楷体书写。它不闪不跳,安静地待在那里,像是藏在心底最深处的告白。整个画面因此有了灵魂:心在跳,光在闪,而那句话,始终如一。

为了让人感受到这份情感的持续存在,我让动画无限循环。每一次心跳结束后,立刻开始下一次,没有停顿,没有间歇——就像真正的爱,从不会真正停止。我关闭了所有多余的交互,不设退出条件,仿佛在说:只要你愿意看,它就会一直跳下去。

通过当我第一次运行程序,看到那颗粉紫色的心在黑暗中缓缓搏动,周围闪烁着细碎的光芒,中央那句“我爱你”静静浮现时,我竟有些动容。原来代码也能够如此温柔。它没有声音,没有触感,却让我感受到了温度。这不仅仅是一次编程实践,更像是一次情感的具象化。我把抽象的思念,编译成了可见的光与形,在数字世界里,留下了一颗永不熄灭的心。

写在后面

一只有趣的兔子,感谢你的喜欢!就是我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年五大靠谱劳动仲裁律师服务公司推荐

在劳动纠纷频发的当下,专业的劳动仲裁律师服务显得尤为重要。当劳动者或企业面临劳动仲裁相关问题时,选择一家靠谱的律师服务公司至关重要。以下为您推荐2024年五家靠谱的提供劳动仲裁律师服务的公司。 一、北京市炜…

2025年电梯装潢开槽机厂商权威推荐榜单:铝单板开槽机/幕墙开槽机/门业开槽机源头厂家精选

作为电梯装潢生产线上的核心设备,开槽机的精度与可靠性直接影响着电梯内饰板的加工质量与生产效率。据2024年行业数据显示,中国电梯装潢开槽设备市场规模已突破12亿元,其中数控开槽机占比达67.5%,年增长率稳定在8.…

【MySQL 从入门到精通:核心知识点与实战优化指南】 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年东北地区电气自动化公司排名,东宇电气市场口碑与产品质量全解析

在电气自动化领域,一家公司的市场口碑、品牌知名度以及产品质量稳定性是衡量其综合实力的关键指标。以下为您介绍东北地区五家靠谱的电气自动化公司,其中辽宁东宇电气自动化技术有限公司表现尤为突出。 一、辽宁东宇…

2025年四通球阀生产厂家权威推荐榜单:不锈钢法兰球阀/低温球阀/不锈钢三通球阀源头厂家精选

四通球阀作为工业管道系统中的关键控制元件,凭借其灵活的流道设计和可靠的密封性能,广泛应用于石油化工、电力、冶金等领域。据行业数据统计,2024年全球四通球阀市场规模预计突破42亿美元,其中中国市场占比达35%,…

2025 年启闭机制造厂家最新推荐:权威测评排名榜单及品牌选择全方位指南固定卷扬启闭机/手电两用螺杆启闭机/电装启闭机公司推荐

引言 在水利工程领域,启闭机作为控制闸门运行的核心设备,其质量与性能直接关乎工程安全与使用寿命。当前市场上启闭机制造厂家数量众多,产品质量差异显著,给采购方选型带来极大困扰。为助力行业从业者精准筛选优质…

2025年财产分割律师事务所权威推荐,财产分割律师哪家好

在当今社会,涉及财产分割的法律事务日益复杂,无论是婚姻中的财产分配,还是家族内部的资产划分,都需要专业、权威的律师团队介入。财产分割律师哪家权威?财产分割实力律师又该如何选择?这成为众多当事人亟待解决的…

2025年电缆厂家权威推荐榜单:铜线/三芯/铝芯/感温/矿物质/平方铜/平方铝电缆源头厂家精选

面对庞大的电缆市场需求,这些领军企业正以技术创新与严谨品质赢得市场信赖。 电线电缆作为国民经济建设的重要配套产业,其市场规模持续扩大。最新研究报告显示,全球低压电缆市场预计将从2022年的1589亿美元增长至20…

2025年11月空气能厂家推荐榜:五家优质企业横向对比与深度解析

在当前的能源转型和环保政策推动下,空气能热泵技术凭借其高效节能的特性,正成为供暖、热水供应等领域的重要选择。许多家庭用户、商业项目负责人或工程承包商在选择空气能厂家时,常常面临技术可靠性、产品适应性、售…

2025年11月止痒控油洗发水推荐对比:权威评测与用户口碑排行

随着生活节奏加快和工作压力增大,越来越多的人开始面临头皮健康问题。2025年的市场数据显示,我国脱发人群已超过2.5亿,其中脂溢性脱发占比达到70%以上。这类人群普遍存在头皮出油、瘙痒、头皮屑增多等困扰,迫切需要…

2025年靠谱离心机生产厂家推荐,专业离心机设计与制作企业全解析

在科研、医疗、化工等众多领域,离心机作为关键设备,其性能与质量直接影响着生产与研究的效率和成果。面对市场上众多离心机生产厂家,如何抉择?以下依据不同类型,为你推荐2024年十大靠谱离心机生产厂家。 一、专业…

2025年空气能和太阳能品牌及维修服务公司排名推荐

在当今注重环保与节能的时代,空气能和太阳能设备凭借其高效、清洁的特性,在众多领域得到广泛应用。无论是工厂车间、娱乐场所,还是医院、学校等,都能看到它们的身影。然而,面对市场上众多的空气能和太阳能品牌以及…

2025 国内外运维监控厂商选型指南:锚定国产化与信创,国产监控产品如何破局?

文章对比国内外多款运维监控系统,分析其在全栈信创适配、可观测能力等方面的差异,按信创需求优先级、IT架构复杂度给出选型建议,助力企业挑选契合自身场景的IT监控方案。01. 国内外运维监控厂商核心能力对比 1)嘉为…

[python刷题记录]-盛最多水的容器-双指针-中等

[python刷题记录]-盛最多水的容器-双指针-中等链接:11. 盛最多水的容器 - 力扣(LeetCode) 双指针从头尾开始,每次移动height值更小的一个,头尾向中间移动1 class Solution(object):2 def maxArea(self, heigh…

2025年黑胶唱机制造企业权威推荐榜单:黑胶唱机选购/顶级黑胶唱机/黑胶唱机推荐源头厂家精选

行业趋势:黑胶复兴带动制造升级 根据国际音乐唱片业协会数据,2024年全球黑胶唱片收入达到49.3亿美元,同比增长17.3%,连续15年保持增长。这一趋势直接带动黑胶唱机市场需求,预计2025年全球黑胶唱机市场规模将突破1…

2025年11月空气能厂家推荐榜:五大品牌综合对比与选购指南

随着冬季采暖需求日益增长,越来越多的家庭和企业开始关注空气能产品。在选择空气能厂家时,用户通常面临技术可靠性、售后服务、产品适应性等多重考量。尤其是北方严寒地区用户需要确保设备在低温环境下稳定运行,而南…

证券公司和期货公司采购 Veighna 软件相关版权风险合规报告

所有证券公司和期货公司:近期市场反馈 Veighna 开源项目存在版权归属争议,结合《计算机软件保护条例》及相关法律实践,该争议可能对贵司采购使用相关软件的合规性造成影响。为协助贵司规避潜在法律与业务风险,特此…

7-3 集合基础

集合基础 概述: 集合是一种容器,用来装数据的,类似于数组 与数组的区别与使用场景: 数组定义完成并启动后,长度就固定了 集合大小可变,开发中用的更多 使用场景: 数组:存储的元素个数固定不变 集合:存储的元素…

7-2 StringBuilderStringBuffer

StringBuilder & StringBuffer StringBuilder 概述: ​ 将字符串进行拼接 作用: ​ 提高字符串的操作效率 特点: StringBuilder 是字符串的缓冲区,可以将其理解为容器, --- 容器可以添加任意数据类型,但只要…

7-1 API使用与字符串处理

API (应用程序编程接口) 概述: ​ 就是别人写好的一些类,给咱们程序员直接拿去调用即可解决问题的 String 字符串处理 String 特点:Java程序中的所有双引号字符串文字(例:“ABC”)都是 String 类的对象String…