从五角星说起

谈到N角星,习惯性的我们会先想到五角星。你可能觉得应该这样绘制:

代码也会相当的简洁:

六角星和八角星

我们能用同样的方法画六角星吗?NO!五角星可以一笔画出来,笔画不重复,而六角星不行。

好吧,我们可以画两个颠倒的正三角形组成六角星:

代码如下,有些命令使用了连写比如p.fd(300).rt(90);

同样我们用2个正方形可以拼成八角星(代码请大家自己实现)

但是问题来了,七角星怎么办?

化整为零

上面的各种方法都是试图用连贯的线把图画出来,就是从整体上来思考的方式。

大多数事物从整体上看都是很复杂的,难于掌握。我们必须想办法把它拆解成几个小部分,每个小部分相对就简单多了,甚至我们可以发现各个部分之间的关系。

就比如画画,如果我们想一下子画个人很难,但是我们可以分成头、身体、四肢分别去考虑就容易多了。这就是化整为零的思考方式。

寻找重复单元

对于N角星,每个角就是一个单元,如下图所示

注意最后的黄色箭头。每个单元的最终,我们把笔的方向回复到和开始的黑色箭头一样,这样我们才能继续后面的重复。

代码如下:

运行结果如下

变身多角星

如果我们把上面的单元一行代码重复,我们只能得到锯齿

N角星每个角都是不同方向的,所以在绘制每个单元之前,我们需要转一下角度,比如画5次,每次转360/5=72度,就得到了五角星

它的代码是这个样子的

仔细观察这个五角星和我们最初那个五角星有什么不一样呢?

思考题

虽然上面的方法画面上看起来画笔有些摇晃,但有什么要紧呢?最重要的是我们的思路变得一下子清晰了,而且这个算法具有很强的普遍性,比如只要改下数字就有下面这些图形了

你也试试看吧!

这里的N角星都没有把中间的多边形画出来。计算多边形的边长是个棘手的问题,需要用到三角函数,在后面的文章中会提到具体实现方法。

致力于让一切变得通俗易懂

如果您发现文章错误,请不吝留言指正;

如果您觉得有用,请点喜欢;

如果您觉得很有用,感谢转发~

END

python画八角星_Goc-N角星的绘制相关推荐

  1. 各种css形状 CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦等等

    CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦等等 新出的HTML5新增了不少标签,性能更强,原来的很繁琐的功能几个标签就能实现,同时CSS3也推出,更是一大亮点, ...

  2. CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦

    CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦等等 新出的html5新增了不少标签,性能更强,原来的很繁琐的功能几个标签就能实现,同时CSS3也推出,更是一大亮点, ...

  3. python画八角星_Python画八角星的程序

    满意答案 多边形的画法 def ployon(num, distance): # bob.color('blue', 'red') bob.color("red", "y ...

  4. Python绘制六角星、多角星、小太阳、小风车《打包好的各种游戏源码,画图源码》

    绘制如下图的,多角图形.思路. (1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数. (2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋 ...

  5. c语言六角星,[转载]六角星的拼法

    似乎大家看了由利子的壁饰,和我一样的喜欢这件简单又美丽的作品呢. 这里和大家一起分享关于这样的六角星的拼法吧.做法是我自己画的,如有不对之处,也望大家指出啊. 作品的每个小单元呈一个六角形.也就是说当 ...

  6. 用python画六芒星_Python绘制六角星、多角星、小太阳、小风车

    绘制如下图的,多角图形.思路. (1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数. (2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋 ...

  7. Python如何用turtle库和循环画一个循环的六角星?

    from turtle import * #引入turtle库 for i in range(6):forward(100)right(120)forward(100)left(60) #第一个循环画 ...

  8. Python turtle 绘制六角星、多角星、小太阳

    绘制如下图的,多角图形.思路. (1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数. (2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋 ...

  9. CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦等等

    新出的html5新增了不少标签,性能更强,原来的很繁琐的功能几个标签就能实现,同时CSS3也推出,更是一大亮点,下面是css3的部分用法,在此总结一下,以供需要的朋友们,总共30个例子 1.长方形 # ...

最新文章

  1. UICollectionView,CollectionView,瀑布流
  2. Hadoop入门进阶步步高(二)-目录介绍
  3. Python-Matplotlib可视化(6)——自定义坐标轴让统计图清晰易懂
  4. 是否可以利用光压提高卫星轨道
  5. 小米笔记本PRO(双系统)黑果体验
  6. 各位有什么超实用的生活小窍门呢?
  7. 如何对CSDN中的博客和博客文章进行修改和管理
  8. Kryo 缓冲区溢出
  9. html显示一条直线,如何在HTML中画一条线
  10. HyperLynx(十)BoardSim和PCB板级仿真分析(一)
  11. 卫片图斑_整治“卫片图斑”,让违建无处可逃!
  12. 尺寸有点太大了吧,我已经受不鸟了
  13. 第3章 天墉城有仙人
  14. echarts x轴下绘制表格
  15. python中show函数的用法_jQuery如何使用动画show()方法
  16. c语言飞机借位,使用c语言实现飞机游戏
  17. C/C++程序使用lu对象作为配置文件
  18. 力控-给排水监控系统设计与实现
  19. 高可用实践之统一鉴权(三)
  20. 中科大软件工程考研经验贴

热门文章

  1. SAP 物料号系统内部编码导入BAPI报错(E M_ 17)
  2. 超过100w条数据表的分页查询优化
  3. CentOS7搭建个人站点
  4. 通俗易懂看RB-tree(二)
  5. 手机wps怎么设置打印横竖_手机WPS怎么设置横版打印?
  6. [zz]yum缓存安装的软件
  7. 5G网络实现自动驾驶车联网——第三篇:5G网络实现远程SSH,远程桌面
  8. 世界人工智能大会即将举办 AI机器人帮你分类垃圾
  9. 普通话测试第四题评分标准_普通话测试第四题评分细则
  10. (十)学生课程表查询