Category: Scratch

Scratch 画图(2)

讲完了简单图形后,我们开始看一些组合图形。上面的图形,乍一看感觉很复杂,但仔细看一下,发现都是有规律的。这里我们要用到分解的思路,把复杂的图形简单化。以图16为例,可以看成是4个长方形。 从中心点O开始,画完一个长方形后,我们回到O点,这个时候,我们面向的方向需要进行调整,在图16里面,只要旋转90度,继续画下一个长方形,直到画完4个长方形就可以了。 这里4个长方形的起始点是重合的,所以我们画完一个长方形后,不需要调整位置,只需要调整方向。图17,19,22,23,27,28,29,30都是类似的。画完分解出来的基本图形后,只需要调整方向,不需要调整位置。 图20需要注意的是,如果保证中心点不变,那么需要调整怎么画正方形,不能从顶点开始画,而是从一个边的中心点开始,所以首先要画半条边,然后画3个条边,最后再画半条边。图21,24,26以此类推。 图25需要注意,没有固定的中心点。每个长方形的起始点组成了一个正8边形,所以我们在画完一个长方形后,要依照正8边形的规律,移动到下一个点,然后调整方向,再开始画下一个长方形。代码如图所示。


November 27, 2021 0

Scratch 画图(1)

本文介绍一些scratch的基本图形。 假设你已经了解了画图怎么使用,那么在看到这些图形后,很自然的想法就是,只要我们控制画笔往图形的轨迹移动,就能画出我们所需要的图形。 最简单的办法是把一个图形分解成一些边,然后一条边一条边的画。比如正方形,我们知道它有4条边,那么从任意一个顶点出发,先画一条边,然后需要转90度角,继续画下一条。 这里需要注意是左转还是右转,如下图所示,从A出发,画线AB,然后,如果一直左转,那么最后画出的正方形是ABEF,如果右转那么最后画出ABCD. 虽然都是正方形,但是图形在屏幕上的位置是不一样的。单独画正方形没有问题,后面我们画组合图形的时候,就需要注意这一点了。 图1-15里面,除了6,7,8外其他都是单一图形。其中图1,9,10,11,12都是正多边形。如果注意观察的话,正多边形的画图规律是可以统一起来的,都是先画一条边,然后旋转一定的角度,再画下一条边。正方形的旋转角度是90度,正三角形的旋转角度是120度,正五边形的旋转角度是72度,以此类推,我们可以分析出来,旋转的角度是360/正多边形的边数。利用这个规律,我们可以用一个简单的循环来画所有的正N边形,只需要循环N次,每次先画一条边,然后旋转360/N度就可以了。 图13是个圆,圆可以看成是一个N很大的正N边形。当边很短很短的时候,我们就用N边形来模拟了一个圆。 下面的代码,我们自定义了一个画正N边形的积木,通过传入不同的参数就可以画出正N边形。 图2,3,4,5画边的规律不完全一样,所以我们可以简单一点,就一条边一条边的画。图6,7,8是由两个图形组成的。这里需要注意的是两个图形的摆放位置,我们在画完第一个图形后,要把起始点移动到对应的位置,才能开始画第二个图形。图6两个正方形的中心点是一样的,我们可以通过辅助线来实现。 如图所示,我们想从A点到C点,直接移动需要比较复杂的数学计算。简单起见,我们从A先到B,然后从B到D,再从D到C。第一次移动大正方形边长的一半,第二次移动大正方形边长的一半减掉小正方形边长的一半,最后移动小正方形边长的一半。这样从A点和从C点画出来的正方形可以保证中心点是重合的。图7和图8可以使用类似的技巧。 图15和正N变形的画法有点像,不过这里每条边画完后,旋转的角度不再是360/边数,而是固定的180-180/5=144. 图14可以看成一个特殊的4变形,每条边不是直线,而是带了个角,把这条边分成4段,很简单就可以画出来。  


November 20, 2021 0