可爱的图形-scratch之几何图形创作33

2019-12-14  本文已影响0人  天使猿ty
今天无意得到40副漂亮的几何图形,打算在孩子上课的课间用scratch依依实现出来。前面都一帆风顺,但画到第33副图时, image.png 出了一点问题,按照正常的步骤是把图形画出来了,但是确总感觉哪个地方不对, image.png

于是仔细研究,发现这幅图有技巧,需要利用初中几何知识求出两条边的比例才能画出跟原图一模一样的效果。这可提起了我的兴趣,于是立马分析图形中线条与线条之间的关系,角度是多少,作图,辅助线,计算角度,计算各条关键线段的长。加下来我就将我分析的过程展示出来,供scratch的编程爱好者,和编程爱好者中的数学爱好者参考,共同学习。(因为我怕不写下来,等两天我再看,又忘了!)

首先,将原图拆分成这样的单元图形: image.png

最终的图形即是这个基本图形通过不断的旋转所组成的。
单元代码如下:


image.png 当然我们可以通过数图形中一共有多少条长臂,然后除以2得到总共旋转了多少次。 image.png

这里我就直接数的对儿数,一共有8对,所以需要由刚才那个基础图形旋转八次得到。
所以每次旋转的度数为360/8 = 45(度)
代码如下:


image.png
现在画出来的结果是这样子的: image.png
image.png

跟原图对比,有点像,但中间的差别还是蛮大的。什么原因呢?哦!正如我们开篇时所说的,长边和短边的比例没有经过计算,所以这样是不会和原图相像的。

接下来我们仔细分析,发现图片中很多单元图形的直角顶点都重合了,比如这些点: image.png
正因为这些点的重合,才会让图形看起来更加的漂亮,像一朵绽开的花儿。
那接下来我就截取其中的一块作为我们的标本进行分析。 image.png 如上图,我们将它整理到一张干净的白纸上: image.png
其中:BG即为单元图形的半个长臂,在此,我们令单元图的长臂长为a,则BG=a/2,DC,DF,DE为过D点分别向直角边BG,HG以及等腰直角三角形BGH斜边BH分别引的三条垂线,垂足分别为C,F,E。在这里我们可以发现,这三条垂线段均为相交的两个单元图形的短边,我们令其为b,所以则有点D为等腰直角三角形BGH的内心-三角形内切圆的圆心(到三边距离相等的点)。好的,现在的重点就落在了求这个等腰直角三角形的内切圆半径的长度了。方法为等面积法(是不是似曾相识的感觉) image.png 带入参数得: image.png

化解得:


image.png 如果让: image.png
则: image.png
所以,我们需要再次申请一个变量,来容纳a的值,如下: image.png
a=外边长/2
所以代码可以如下写: image.png
展示最终成效:
image.png
完美!!

—————————————    教育就是每一次的正向反馈!    ——————————————

上一篇 下一篇

猜你喜欢

热点阅读