前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你知道什么是最美C语言代码吗?来看一下说说你的想法

你知道什么是最美C语言代码吗?来看一下说说你的想法

原创
作者头像
诸葛青云
修改2019-10-23 16:53:13
5300
修改2019-10-23 16:53:13
举报

各位小伙伴,看到标题大家肯定会联想许多,到底怎样算最美的代码?话不多说,代码先上:

#include

#include

#include

#include

#define PI 3.1415926

//绘制心形线的函数

void cardioid(int x, int y, int a)

//x: x方向上的偏移量

//y: y方向上的偏移量

//a: 缩放倍数

{

int x1, y1, x2, y2;

double angle = 0;

while (angle <= 2 * PI)

{

x1 = a * (2 * sin(angle) + sin(2 * angle)) + x;

y1 = a * (2 * cos(angle) + cos(2 * angle)) + y;

angle += (PI / 180);

x2 = a * (2 * sin(angle) + sin(2 * angle)) + x;

y2 = a * (2 * cos(angle) + cos(2 * angle)) + y;

line(x1, y1, x2, y2);

Sleep(5);

}

}

int main(void)

{

initgraph(960, 540);

setlinecolor(RGB(255, 0, 0));

cardioid(480, 270, 50);

int ret = getch();

closegraph();

return 0;

}

有人会疑问了,这怎么算最美代码?其实,今天之所以写这篇文章,要从下面的这幅图说起,我们慢慢道来。

C语言

有的人可能认出来了,没错,这就是我们喝的百岁山矿泉水电视广告截图,今儿偶然的机会跟我同事聊到了这个广告,其实我们很多人不知道广告背后隐藏的故事。讲到这里,有人说故事跟上面的C代码又有什么关系呢?不要急,听我慢慢说:

它讲的是我们熟知的大名鼎鼎的数学家笛卡尔的故事。1650年的斯德哥尔摩街头,52岁的笛卡尔邂逅了18岁瑞典公主克莉丝汀。笛卡尔落魄无比、穷困潦倒又不愿意请求别人的施舍,每天只是拿着破笔破纸研究数学题。

有一天,克莉丝汀的马车路过街头发现了笛卡尔是在研究数学。公主便下车询问,最后笛卡尔发现公主很有数学天赋,道别后的几天笛卡尔收到通知,国王要求他做克莉丝汀公主的数学老师,其后几年中相差34岁的笛卡尔和克莉丝汀相爱,国王发现并处死了笛卡尔。

在最后笛卡尔写给克莉丝汀的情书中出现了r=a(1-sinθ)的数学坐标方程,解出来是个心形图案,就是著名的“心形线”,学过高数的应该对此有所了解。这封情书最后被收录到欧洲笛卡尔博物馆,故事浪漫而又悲惨,令人感叹。

而我们要说的就是这个著名的“心形线”:

心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名。下面是心形线的绘制动图:

小编给大家推荐一个学习氛围超好的地方,鼠标放到头像上就能看到

C语言

到这儿大家应该都明白了,上面的C代码就是用来绘制r=a(1-sinθ)这个“心形线”的,这跟网上很多用大量printf得到爱心图案不一样,那些形状比较随意,而“心形线”有严格的几何要求,所以相对来说复杂一点,用到了图形化编程和数学库函数,这就是开头C代码的由来了。

当然,我们这里讲的美是蕴含在代码背后的故事,而不是代码本身,因为我们一直说深层次的美才是真的美,也一直相信真的美一定是来源于生活的内在,就像笛卡尔浪漫而又悲惨的爱情故事一样,你说呢?

好了,今天就说到这里吧,感谢您的耐心阅读!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档