用Python画星空图,并且要求有月亮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python画星空图,并且要求有月亮相关的知识,希望对你有一定的参考价值。

参考技术A import turtle as t
from random import randint
def five(size):for a in range(5):t.forward(size);t.right(144)
def moon(size):t.circle(size)#半径
t.pencolor("yellow")
t.penup()
t.goto(100,100)
t.pendown()
moon(4)
for a in range(10):t.penup();t.goto(randint(100,0),randint(100,0));t.pendown();five(randint(1,3))
还可以再改进改进。

请问如何用Python turtle画一个多角星?

如何通过输入顶点个数来确定对应多角星?比如顶点数是5,就画五角星。如果顶点数是6,就画6角星。

一般是要靠算角度的
import turtle
import time
turtle.forward(100)
turtle.right(144)
time.sleep(1)
turtle.forward(100)
turtle.right(144)
time.sleep(1)
turtle.forward(100)
turtle.right(144)
turtle.forward(100)
time.sleep(1)
turtle.right(144)
turtle.forward(100)
time.sleep(3)
你可以写一个子函数通过给定的角的数量用公式计算出角度再代入上述代码的角度参数里就OK了
参考技术A import turtle

L = 50  # 边长
N = 12  # 角的个数
jiaodu = 180 - 360 / (N)  # 每个三个型相对于上一个三角的角度,left转动
tl = turtle.Turtle()  # turtle的对象
tl.screen.delay(0)  # 绘画延时为0

def f1():
    tl.penup()
    tl.fillcolor()
    tl.forward(L)
    tl.pendown()
    tl.right(120)
    tl.fillcolor()
    tl.forward(L)
    tl.right(120)
    tl.fillcolor()
    tl.forward(L)
    tl.right(120)
    tl.end_fill()  # 填充结束


# 画外部的三角
for i in range(N):
    tl.left(jiaodu)  # 下一个三角形的角度
    tl.penup()
    tl.forward(L)  # 新三角的起始位置
    tl.pendown()
    tl.right(180)  # 转动到画三角形的相对0度
    f1()

tl.end_fill()
tl.screen.mainloop()

参考技术B 画三条线或者画个多边形,这些基本的函数应该是有的哈。 参考技术C 画一个多角星追问

?

以上是关于用Python画星空图,并且要求有月亮的主要内容,如果未能解决你的问题,请参考以下文章

svg绘制蓝色星空,月亮,旋转灯塔

知道太阳和月亮的中天高度以后,怎么计算日出日落,月出月落的方位

一招教你摘下月亮送给TA!信不信,我用PPT就能做到

python的pygame模拟太阳-地球-月亮-金星等动态示意图代码分析

用python的 turtle 怎么画这个曲线?

怎么用python中turtle画九九乘法表?