最新消息:

编程与数学:用Scratch解笛卡尔的爱心函数

Scratch 少儿编程 5610浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

大家记得景田百岁山的广告吗?

一个老年人坐在墙根,面前放了一瓶水,一个贵族女人坐在老爷车后座。贵族女人下车,(让观众误以为要拉老人的手,实际上)拿了老人前面的那瓶景天百岁山,老人很诧异,贵族女人微微一笑,走了。

 

编程与数学:用Scratch解笛卡尔的爱心函数

 

 

抱歉。不了解典故的我还以为这个老头走路走的很渴想喝这个水结果被那女的一把抢走了……编程与数学:用Scratch解笛卡尔的爱心函数

后来才知道原来是笛卡尔的典故啊编程与数学:用Scratch解笛卡尔的爱心函数

17世纪,无家可归的数学家笛卡尔邂逅了18岁的瑞典公主格里斯汀,格里斯汀对数学有着深厚的兴趣,而笛卡尔的数学天赋,使格里斯汀着迷,于是笛卡尔被国王招进宫里,做了格里斯汀的数学老师,很快两人陷入了爱河。

国王闻讯,把笛卡尔放逐,格里斯汀也被软禁,外放的笛卡尔不幸感染了黑死病,他万分思念格里斯汀,每天坚持给她写信,这些信件却被国王拦截了。笛卡尔不久后就去世了,而格里斯汀一无所知,笛卡尔的最后一封信只写了一个方程式,国王看不懂,全城的数学家也没人能解开,只好把它给了格里斯汀。拿到信后,格里斯汀把方程图形画出来,泪流满面。

这条曲线,就是著名的心形线。

编程与数学:用Scratch解笛卡尔的爱心函数

后来格里斯汀继承了王位,成了瑞典的女王,这段爱情她是否铭记一生,谁也不知道。

这个心形线的公式:r=a(1-sinθ)。

首先我们将这个公式转化为参数方程(a常量控制图形的大小,t角度取值在0-360)

  x=a*(2*cos(t)-cos(2*t))

  y=a*(2*sin(t)-sin(2*t))

  我们的思路很简单,不断的改变t的值然后得到坐标x,y的值,让我们的画笔移动到这个坐标,最后我们的图案就绘制出来了。

Scratch制作步骤:

  1、定义变量a、t、x、y

  2、初始化变量

  3、重复执行改变t的值,不断移动画笔到x、y

 

编程与数学:用Scratch解笛卡尔的爱心函数

源程序如下地址:https://Scratch.mit.edu/projects/325863825

 

 

编程与数学:用Scratch解笛卡尔的爱心函数

转自公众号:
编程小呱

您必须 登录 才能发表评论!