ホームページ  >  記事  >  バックエンド開発  >  Python の Turtle を使用して独自の星空を作成する方法

Python の Turtle を使用して独自の星空を作成する方法

PHPz
PHPz転載
2023-04-25 21:49:152323ブラウズ

Python の Turtle を使用して独自の星空を作成する方法

Turtle の基本

Turtle は Python で描画するための重要なパッケージ (組み込みパッケージ) であり、豊富な描画ツールや描画機能が含まれています。 、タートルで絵を描くことを学ぶと、好きなパターンを描くことができます

1.1 タートル製図ボード

タートルの製図ボードは任意のサイズにすることができますタートルを使用します。設定する screensize() 関数

turtle.screensize(width,height,bg):设置画板的大小,包含长和宽,width为宽,height为高,bg为画布颜色

1.2 カメのブラシ

カメのブラシにはよく使用される関数がいくつかあります

①turtle.penup():抬起画笔,此时移动画笔不会在画布上留下痕迹哦
②turtle.pendown():放下画笔,与turtle.penup相对应,放下画笔后就可以继续画画了(放下画笔后画画会在画布上留下痕迹)
③turtle.pensize():控制画笔的大小(可以根据需求自行定义画笔的大小哦)
④turtle.pencolor():控制画笔的颜色(可以自己在网上查阅所有python可以使用的颜色,python里面可以用的颜色有很多的哦)
⑤turtle.hideturtle():隐藏画笔(隐藏画笔以后画图时画笔就看不到了)

1.3 カメの描画

絵を描く過程では、いくつかの単純な移動関数をよく使用します。

①turtle.forward(x):将画笔向前移动x个像素(x可以理解为距离)
②turtle.backward(x):将画笔向后退x个像素(x可以理解为距离)
③turtle.left(n):将画笔向左旋转n度
④turtle.right(n):将画笔向右旋转n度
⑤turtle.speed():设置画笔画图的速度(1~10递增,0最快)

1.4 カメの色付け

絵を描いた後、多くの場合、次のことが必要になります。ここでは、turtle.fillcolor() 関数を使用して、括弧内に塗りたい色を書きます。
turtle.fillcolor() 関数を使用するときは、その基本形式に注意してください

turtle.beginfill()     #开始填充
turtle.fillcolor()      #输入填充的颜色
turtle.endfill()        #结束填充

1.5 Turtle の書き込み

図面全体、turtle.write() 関数を使用して次のように書くことができます。

turtle.write(" ",move,align,font)
① 第一个位置双引号内填入要写的字
② move(可选):在默认情况下,move为false。如果move为true,则笔将移动到右下角
③ align(可选):可取值是left即左、center即中、right即右之一,是字符串格式
④ font(可选):字体三元组(fontname、fontsize、fonttype),fontname即字体名称(字符串格式,如“宋体”),fontsize即字体大小),fonttype即字体类型如:normal(普通)、bold(粗体)、italic(斜体)

星空をシミュレートする

#タートルを簡単に理解した後、星空をシミュレートしてみましょう一緒に!

#シミュレートされた惑星

各惑星を粒子と見なし、各粒子は小さなカメで表され、各惑星はカメのクローンを作成することで生成されます

t=tu.Turtle(visible=False,shape='circle')
t.pencolor("white")
t.fillcolor("white")
t.penup()
t.goto(ra.randint(width/2,width),ra.randint(-height/2,height/2))
for i in range(99):
    star=t.clone()
    s=ra.uniform(0,1)/3
    star.shapesize(s,s)
    star.speed(ra.randint(2,5))
    star.setx(ra.randint(width/2,width))
    star.sety(ra.randint(-height/2,height/2))
    star.showturtle()
    stars.append(star)

ロマンチックな星空

##ループを通じて星空をシミュレート

##各惑星が左側から消えたら、右側に追加し直します。ループを継続します

while True:
    for star in stars:
        star.setx(star.xcor()-star.speed())
        if star.xcor()<-width/2:
            star.hideturtle()
            star.setx(ra.randint(width/2,width))
            star.sety(ra.randint(-height/2,height/2))
            star.showturtle()

以上がPython の Turtle を使用して独自の星空を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。