串联的圆:有趣的心形线

    

     我思故我在。”   ——卡笛尔

    

0 动机

    在这篇文章里,将给大家介绍一下心形线及其画法,关于具体coding(编码)的东西以后再讲。关于心形线有一个浪漫的爱情故事,我们先讲完故事,再讲如何画心形线。

 

1 故事

    《数学的故事》里面说到了数学家笛卡尔的爱情故事。笛卡尔于1596年出生在法国,欧洲大陆爆发黑死病时他流浪到瑞典。1649年,斯德哥尔摩的街头,52岁的笛卡尔邂逅了18岁的瑞典公主克里斯汀。几天后,他意外的接到通知,国王聘请他做小公主的数学老师。跟随前来通知的侍卫一起来到皇宫,他见到了在街头偶遇的女孩子。从此,他当上了小公主的数学老师。

    小公主的数学在笛卡尔的悉心指导下突飞猛进,笛卡尔向她介绍了自己研究的新领域:直角坐标系。每天形影不离的相处使他们彼此产生爱慕之心,公主的父亲国王知道了后勃然大怒,下令将笛卡尔处死,小公主克里斯汀苦苦哀求后,国王将其流放回法国,克里斯汀公主也被父亲软禁起来。

    笛卡尔回法国后不久便染上重病,他日日给公主写信,因被国王拦截,克里斯汀一直没收到笛卡尔的信。笛卡尔在给克里斯汀寄出第十三封信后就气绝身亡了,这第十三封信内容只有短短的一个公式:r=a(1-sinθ)。国王看不懂,觉得他们俩之间并不是总是说情话的,将全城的数学家召集到皇宫,但没有一个人能解开,他不忍心看着心爱的女儿整日闷闷不乐,就把这封信交给一直闷闷不乐的克里斯汀。

公主看到后,立即明了恋人的意图,她马上着手把方程的图形画出来,看到图形,她开心极了,她知道恋人仍然爱着她,原来方程的图形是一颗心的形状。这也就是著名的“心形线”。

     国王死后,克里斯汀登基,立即派人在欧洲四处寻找心上人,无奈斯人已故,先她一步走了,徒留她孤零零在人间...…据说这封享誉世界的另类情书还保存在欧洲笛卡尔的纪念馆里。 

【注:本故事摘抄自[1]】

笛卡尔心形线

2 真相

    在历史上,笛卡尔和克里斯蒂娜的确有过交情。但笛卡尔是1649年10月4日应克里斯蒂娜邀请才来到瑞典,而当时克里斯蒂娜已成为了瑞典女王。笛卡尔与克里斯蒂娜谈论的主要是哲学问题而不是数学。有资料记载,由于克里斯蒂娜女王时间安排很紧,笛卡尔只能在早晨五点与她探讨哲学。笛卡尔真正的死因是因天气寒冷加上过度操劳患上的肺炎,而不是黑死病。 [1]

3 画心   

    现在我们讲如何画心形线,心形线是一个圆上的固定一点,在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹。我写了一个画轨迹线的通用工具,基于HTML5的,脚本语言是用的JavaScript(正是我们前面哪个系列所讲的)。那么,我们看一下吧。^_^

    首先看怎么画心形线:

    其实,它是两个圆周的相对运动,我们将圆周显示出来:

  

    那么,能同时画多个心形线吗?我们将各个圆的速度和半径调节到合适的位置,并设置好初始位置,看一下同时画两个的情况:

    同时画三个:  

   

继续增加,同时画4个:

    还能增加吗?看下图:

    您可以继续增加下去,只要您设置好主圆(相对其半径的端点运动的圆)和子圆(以主圆半径为圆心的圆)的速度和半径的比例,以及子圆的初始位置。

 

4 尺子

    其实,上述程序类似于万花尺的画图工具,不知道您有没有用过玩花尺,万花尺流行于上个世纪末的80-90年代,在不同地区和时段也有不同的俗名和别称:百变尺、画花行家、齿轮尺、圈圈尺等。

    万花尺由母尺和子尺两部分组成。常见的母尺是内环形齿轮,子尺是带多孔的外环形齿轮。作画时,将子尺内置于母尺内环之中,轮牙镶嵌,笔头插在子尺的小孔中,用笔带动子尺顺着母尺的内沿齿轮反复作圆周运动。在作画过程中,两者内外齿要始终靠合。完成后纸上便会留下一个不可思议的美丽花朵。子尺上小孔的极小位移会引起图案类型的极大变化。子尺形状的变化有很多,除了圆形,还有椭圆形,弧边的三角形、十字形、梅花形、方形、多边形等等。母尺的变化不大,但有些母尺的外沿也带齿轮,把子尺置于母尺外沿作环绕运动,这时画出的是花形圈。母尺的内环通常是圆形和椭圆形。[2]

    使用上述程序,您可以模拟万花尺画出五彩缤纷、绚丽多彩的图形,您还可以随意调整各个尺子的旋转速度、位置、半径以及运动,您甚至可以调整旋转加速度、控制半径在绘图过程的变化以及母尺的运动。

万花尺绘出的图形

 

   下面,现在我们将画出来的圆,串联起来,看有什么效果吧。^_^

    首先,我们把“你的心,我的心,串一串”,再让串联起来的圆跟随我们的鼠标运动。看一下效果:@_@

    然后,我们将心和心之间添加一些弹性,看一下效果:wow!

    好了,或许您可以将这些有趣的心发送给您的朋友,您的朋友只需要双击,就可以观看效果了。哈哈,说了这么多,想不想玩一把?关注本公众号,回复“心形线”,就可以得到以上所有程序的代码,您可以在电脑上直接运行该代码!Ok,以上。

  欢迎关注“灵感快现”,若有不足之处,欢迎批评指正!

[1]https://baike.baidu.com/item/%E5%BF%83%E5%BD%A2%E7%BA%BF/10018818?fr=aladdin

[2]https://baike.baidu.com/item/%E4%B8%87%E8%8A%B1%E5%B0%BA/5114750?fr=aladdin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值