ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

最美的C语言代码参上

2021-01-17 20:34:40  阅读:239  来源: 互联网

标签:angle 克莉丝 笛卡尔 int 代码 最美 C语言 sin 心形线



 

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

#include<stdio.h>#include

 <graphics.h>#include <math.h>#include <conio.h>#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;}

 


 

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

它讲的是我们熟知的大名鼎鼎的数学家笛卡尔的故事。1650年的斯德哥尔摩街头,52岁的笛卡尔邂逅了18岁瑞典公主克莉丝汀。

 


 

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

其后几年中相差34岁的笛卡尔和克莉丝汀相爱,国王发现并处死了笛卡尔。在最后笛卡尔写给克莉丝汀的情书中出现了r=a(1-sinθ)的数学坐标方程,

解出来是个心形图案,就是著名的“心形线”,学过高数的应该对此有所了解。这封情书最后被收录到欧洲笛卡尔博物馆,故事浪漫而又悲惨,令人感叹。

如果你也想成为程序员,想要快速掌握编程,赶紧关注小编加入学习企鹅圈子吧!

里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”

资料包含:编程入门、游戏编程、课程设计等。

免费学习书籍:


 

免费学习资料:


 

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

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


 

到这儿大家应该都明白了,上面的C代码就是用来绘制r=a(1-sinθ)这个“心形线”的,这跟网上很多用大量printf得到爱心图案不一样,

那些形状比较随意,而“心形线”有严格的几何要求,所以相对来说复杂一点,用到了图形化编程和数学库函数,这就是开头C代码的由来了。

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

标签:angle,克莉丝,笛卡尔,int,代码,最美,C语言,sin,心形线
来源: https://www.cnblogs.com/zuishuaideou/p/14290050.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有