最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

Scratch教程:画圆之术

Scratch 少儿编程 3342浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

在Scratch的程序开发中,我们有很多的时候需要绘制圆。

上一篇文章中,(点击蓝字可查看原文内容)我们讨论了使用造型图章及使用转向加移动的方法画圆的方法,并对方法中参数的设置从数学角度进行了分析。

今天我们继续讨论画圆的方法。这次要介绍几个更加“数学化”的方法。

画圆之术

我们讨论两个十分经典的数学方程方法。这是作为绘制图形的玩家必须掌握的算法。

1
 基于直角坐标系的方程

 

第一种方程是基于直角坐标系的,通过X与Y之间的关系计算。

画圆之术

根据这个方程,则可以通过x的值计算出y的值。从而绘制出圆形。举例说明

举例说明
画圆之术

我们想以(0,0)为圆心,绘制一个半径为90的圆。利用上面的分析可以知道,我们应该在x等于-90到90的范围内进行绘制。

画圆之术

上面程序的主体是一个从-r到+r的循环,每次X变化后,都会计算出一个新的Y值,再将角色移动到新的XY位置。

我们可以试验一下上面程序运行得到的结果。

画圆之术

为什么只画了半个圆呢?

原因在于在开平方根时,我们只取了正值,而实际上还需要取负值。所以还需要一段绘制圆下半圈的程序。可以直接接着上面的程序编写。

画圆之术

这样就可以绘制出一个完整的圆了。 

 

2
 基于极坐标参数方程

 

这也是我们十分常用的方法。就是根据角度的变化,计算出x,y的不同值。根据数学知识可以得到,当角度a变化时,x与y的变化函数为:

画圆之术

根据这个,就能够绘制出一个完整的圆。

程序如下:

画圆之术

在a从0到360度进行变化的过程中,计算不同角度下的x和y,进行连线,就能够绘制出圆形了。实际上,这样的方法是使用多边形来近似绘制圆形(在例子中就是绘制的360边形)。当然在这个过程中也有几个技巧是需要注意的:何时落笔,何时抬笔,使用什么样的角度步长,如何绘制部分圆,如何绘制椭圆等。

当然还有更复杂一些的,基于导数的圆的绘制方法等,但涉及到比较多的数学知识,这里就暂不讨论了。

 

画圆之术

 

本来上面就是我原来计划写的内容了,后来忽然想到了另一个有趣的方法!

画圆之术
 

大家知道,Scratch中的画笔是可以设置为很大的(比如说100)。那么,如果使用不同大小、不同颜色的画笔绘制两个点,不就能画出一个圆了吗?

程序如下:

画圆之术

效果如下:

画圆之术

 

可以看到,我们画出了一个圆,但由于使用画笔,所以中间填充的颜色同时盖住了背景。但也不失为一种有趣的画圆方法。

 

 

总结

  1  有多种不同的绘制圆的方法。本文章介绍了数学方程及画笔的方法。

2 一个问题常常有多种的解决办法。掌握的方法越多,面对问题时可供选择的方法也就越多,适用的范围就越大,可做的东西也就越多。

3  在实际应用中,需要结合实际情况选用最合适的方法。

 

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