首页资讯科技 填充是怎么操作

填充是怎么操作

一、创意来源在今年第24期绘制标准党旗的案例中,我们在画镰刀时遇到了一个问题,在两点间画两条圆弧,即使封闭也只会填充出一个半圆,而不是我们期望的镰刀。于是我就想到Python的填充究竟遵循哪些规律呢?这个Python案例也是等级考试一级内容…

填充是怎么操作

第一,创意来源

今年第24期画标准党旗的情况,我们在画镰刀的时候遇到了一个问题。在两点之间画两个圆弧,即使是闭合的也只会填满一个半圆,而不是我们预期的镰刀。于是我想,Python fill遵循什么规则?

这个Python案例也是等级考试一级内容的扩展知识点。二、设计思路

填充问题是Python考试中turtle的一个重要知识点。

1.要设置填充颜色,有两种方法:

(1)颜色(“画笔颜色”、“填充颜色”);如颜色(“红”、“绿”)。

(2)fillcolor(“填充颜色”)。

2.使用填充命令:begin_fill()和end_fill()开始和结束填充。

3.要填充的语句块必须位于fill命令的中间。

4.填充图形必须是闭合图形。

以上是Python课程讲解的知识点,那么这样够不够完成我们需要的填充?

根据这些基础知识,我们可以做一些封闭的图形,看看填充情况。这时候我们自然会发现,填充是有规律的(世间万物皆有规律)!所以我们的想法是做基本程序,解决基本问题。三。设计

根据乌龟的知识和填充的基本要求,我设计了几个画月牙的例子,运行后看看有没有规律。

1.灌装问题分析

(1)实施例1(图1)

跑完之后发现,虽然画了一条封闭的曲线,但是按照我们的思路,填充的是整个半圆而不是一个弯月面(图2)。

(2)实施例2(图3)

修改上面的代码,我们先从下起点画至上顶点,然后直接从上顶点画回下起点,中间没有提笔过程。这张图也是闭合曲线,填充正常(图4)!

事实上,在后两个例子中,例1的第11行和第12行代码,例2的第7行到第9行代码,旋转角度和圆弧半径都是通过多次修改测试得到的。

这些角度和圆弧半径不影响以下法则验证。

(3)实例3

例3从同一点出发,画一个封闭的图形。如您所见,填充不正常(图5)。

(4)实施例4

第四个例子也是从同一点出发,画一个封闭的图形,结果你可以看到填充是正常的(图6)。

2.结论

那么问题来了,从同一点绘制的两个图形的填充效果怎么会不一样呢?

通过实验和分析,我得出了一个结论:说到圆形的填充,默认是圆弧内的填充(圆心和圆弧之间)。需要外侧填充时,必须是乌龟按顺序画出的闭合曲线才能正常填充。根据我们总结的规律,对第三个例子进行了修改,测试证明这个结论是正确的(图7)。第四,画月相

理解了这个关键点之后,你就可以编写自己的测试了。让我们用这个结论来画任何大小的月相。当然,先从简单的开始。

1.月球的基本代码

有满月的时候怎么画图?使用命令circle(如果没有指定半径和弧度数,则使用circle;如果给定了步数,则使用polygon)(图8)。

同样,代码第8行的半径和角度,第9行的距离,也被我一点点修改和测试。操作效果如图,发现月牙更大(图9)。

2.月相的基本知识

月相,天文学术语(月亮的相位),指天文学上在地球上看到的月亮被太阳照亮的部分的名称。月亮绕着地球转,使得太阳、地球和月亮的相对位置在一个月的时间内有规律地变化。因为月球本身不发光,不透明,只有月球被太阳直接照射的部分才能反射太阳光。我们可以从不同的角度看到月亮被太阳直射的部分,这就是月相的来源。月相不是因为地球遮住了太阳(这是月食)造成的,而是因为我们只能看到月亮被太阳照亮的部分,它的阴影部分就是月亮本身的黑暗面。

参考月相图,这里不多解释。有兴趣的同学可以自行查找相关知识(图10)。

3.月相画的规律

那么大家就会想,各种月相都可以画出来吗?有规律吗?我们看图说话吧。我们假设两个圆相交的上部是要画的月亮(图11)。

外圆O和内圆O’的半径是R and R。我们先画一个半径为R的半圆,乌龟的方向正好转过180度。画下面的小圆弧,乌龟必须旋转一个角度A,然后画一个大小为A '的内圆圆弧。从图中可以看出,a'=180-2* a,而半径R' =

4.月相代码程序

如图12所示。

运行,输入相应的内弧度值(图13)。

事实上,这个月亮在屏幕的顶部。你如何得到新月,残月和凸月的相位(图14)?

运行程序,输入月亮位置的坐标,月亮的方位,内弧度,外圆半径,就可以画出任意方向任意大小的月亮。请注意,外圆半径与水平和垂直坐标之和不能大于屏幕尺寸(图15)。

如果要画凸月,内弧度大于90。如果是满月,那就输入180。其他情况可以自己测试,取值范围为0-180(图16)。五.测试和改进

在编程的过程中,最好输入代码并进行测试,以便随时调整程序。

本案例使用了列表、字符串、数据转换、绝对值等相关知识。数学是一个数学模块。和甲鱼一样,使用前需要进口。

案例的讲解过程是我的实际操作过程,但我遇到了问题,这是多次修改和测试的结果。这需要耐心和扎实的知识。希望在学习中能真正独立思考,研究解决问题的方法和思路。其实这是提高我编程能力的最好方法。如有不妥,请指正!

本文来自网络,不代表管理窝立场。转载请注明出处: https://www.guanliwo.com/a/zx/63514.html
上一篇剧场的概念
下一篇 不用安装了
管理窝

作者: 管理窝

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部