最愛の妹の心を描き、Pythonは、ライブラリタートルをプロット

Pythonは、ライブラリタートルをプロット

タートルはじめに

カメが埋め込まれているPythonのラインは、グラフィックス・モジュール(テキストを含む)引かれ、円形やその他の形状です。

Aタートルが実際のオブジェクトである、タートルモジュールをインポートするときに、あなたがオブジェクトを作成し、その後、あなたはタートルオブジェクトが異なる操作を実行するさまざまな方法を呼び出すことができます。

その位置(0,0)に設定されているタートルオブジェクトを作成する場合 - 窓の中心、及びその方向は右に設定されています。タートルモジュールペンは、本物の画用紙の書き込みのように、グラフィックスを描画します。ペンを移動するときにするときには、移動の方向を押すことで線を描画します。

詳細な地図座標ウミガメ

位置座標(0,0)を用いて、図カメ画像描画の中間点座標系。他の高校の数学で私たちとの調整は、4つの象限に分け、同じです。

下図のように:

 

 

 

 

 

 

 

タートル基礎

1.キャンバス

背景色のキャンバスサイズを設定します

方法1:

turtle.screensize(canvwidth =なし、canvheight =なし、BG =なし)

パラメータ:それぞれキャンバスの幅(ピクセル単位)、高い背景色。

方法2:

turtle.setup(幅= 0.5、高さ= 0.75、startxと=なし、startYと=なし)

パラメータ:幅、高さ:入力整数の幅と高さ、ピクセルを表し、小数は、コンピュータスクリーン上映の割合は、(startxと、startYと)占有する場合:それが空の場合、矩形ウィンドウの左上隅の頂点座標の位置をそれは、画面ウィンドウの中央に位置しています

2.ブラシ

ブラシセット:

  1. ペン幅turtle.pensize(INT)整数パラメータであります
  2. ペンカラーturtle.pencolor(「黒」)パラメータは、RGBの3タプルであってもよく、そのような「緑」、「赤」のように、文字列であってもよいです
  3. ブラシ速度turtle.speed(速度)ブラシの移動速度を設定し、起毛速度範囲[0,10]の整数、より多く、より速く。

3.描画コマンド

タートル描画コマンドには、次の3つのタイプに分けることができます:ペン用ブラシ運動コマンドA制御コマンドの一つは、グローバル制御コマンドがあります。

ブラシ移動命令:

コマンド

説明

turtle.forward(距離)/)(FD

ブラシの現在のピクセル長方向に距離を移動

turtle.backward(距離)

ブラシの現在の長さとは反対方向に移動した画素距離

turtle.right(度)

時計回り程度の移動度

turtle.left(度)

動きが度を反時計回り°

turtle.pendown()

グラフィックスレンダリングは、デフォルトでも描くように移動させ、

turtle.goto(x、y)は

ペンは座標X、Y位置に移動させます

turtle.penup()

GVの動きは、新しい描画を開始する場所をグラフィックスを描画しません

turtle.circle()

円、半径が正(負)であり、ブラシの左側に円を描くように(右に)中心を表します

SETX()

特定の場所にx軸電流

セット()

指定された位置に現在のy軸

setheading(角度)/セス(角度)

角度に設定し、現在の配向角

自宅()

東方向へ原点と現在のペンの位置を設定します。

ドット(R)

指定された直径と色のドットを描きます

 

 

ブラシコントロールコマンド:

コマンド

説明

turtle.fillcolor(colorstring)

塗りのカラーグラフィックスを描画します

turtle.color(カラー1、カラー2)

そして、セットpencolor =カラー1、fillcolorのカラー2 =

turtle.filling()

充填の現在の状態かどうかを返します

turtle.begin_fill()

充填グラフィックスを開始する準備ができました

turtle.end_fill()

充填が完了すると

turtle.hideturtle()

亀の形に隠れブラシ

turtle.showturtle()

ディスプレイの亀形のブラシ

turtle.begin_poly()

ブラシの位置を記録します

turtle.get_poly()

ブラシの位置を取得します。

グローバル制御コマンド:

コマンド

説明

turtle.clear()

亀のウィンドウを空にしますが、カメの場所と状況は変わりません

turtle.reset()

クリアウィンドウ、開始状態のカメとしてリセット状態

turtle.undo()

最後の亀アクション元に戻します

turtle.isvisible()

現在のカメが表示されて返します

切手()

現在のグラフィックスをコピーします

turtle.write(S、フォント=( "フォント名"、FONT_SIZE、 "font_type")])

書き込みテキスト、sのテキストコンテンツ、フォント、フォントのパラメータ、すなわちフォント名、サイズ、種類で、フォントは任意であり、フォントのパラメータはオプションです。

turtle.mainloop()

図面は、ウィンドウを閉じずに完了した後に

 

ケース:五芒星

 

 

 

 

ペンタグラムの絵:

五芒星各内側角36 °で、ウミガメの開始位置が最初に使用され得る最初のターンの隅を描画するために、次に、必要な水平線を描画する場合turtle.right()を時計回りに、turtle.left()反時計回りブラシを回転させます

 

時計回りの回転は場合180°-36°= 144° 

反時計回りの回転であれば180°+ 36°= 216° 

 

これは、サイクルの5倍から5倍のコーナーです

 

輸入カメ

 

turtle.pensize(3)#ブラシサイズ

turtle.pencolor( "黄")#ペンの色

turtle.fillcolor( "赤")#塗りつぶしの色

turtle.begin_fill()#を埋めるために開始されます

#五芒星サイクル5回:_範囲内(5)について

辺の長さturtle.forward(200)#200ピクセル五角形

turtle.left(144)#ブラシの回転角

turtle.end_fill()#充填が完了しています

 

ウィンドウを閉じずに()#をturtle.mainloop

 

 

 

 

ケース:愛

 

 

 

 

 

説明:ハートの絵

 

 

 

 

 

 

 

def draw_heart(r, angle=45):
    """
   
:param r: 桃心圆的半径
   
:param angle: 起始画笔角度
   
:return: 返回桃心底部尖点坐标
    """
   
turtle.begin_fill()  # 开始填充
   
turtle.seth(0)
    turtle.seth(angle)  # 设置画笔方向
   
turtle.circle(-r, 180)  # 逆时针画半圆
   
turtle.fd(2 * r)  # 向前移动
   
turtle.begin_poly()  # 记录画笔的位置
   
x, y = turtle.get_poly()[0]  # 获取画笔的位置
   
turtle.right(90)  # 逆时针旋转画笔
   
turtle.fd(2 * r)  # 向前移动
   
turtle.circle(-r, 180)
    turtle.end_fill()  # 填充结束
   
return x, y

 

 

 

完整代码查看附件

 

 

 

import turtle

 

turtle.setup(1200, 600)  # 窗口大小

 

# 画心

 

 

turtle.color("black", "red")

turtle.pensize(2)

turtle.speed(10)

turtle.up()  # 提起画笔

turtle.goto(0, 50)

 

turtle.down()

 

 

def draw_heart(r, angle=45):

    """

    :param r: 桃心圆的半径

    :param angle: 起始画笔角度

    :return: 返回桃心底部尖点坐标

    """

    turtle.begin_fill()  # 开始填充

    turtle.seth(0)

    turtle.seth(angle)  # 设置画笔方向

    turtle.circle(-r, 180)  # 逆时针画半圆

    turtle.fd(2 * r)  # 向前移动

    turtle.begin_poly()  # 记录画笔的位置

    x, y = turtle.get_poly()[0]  # 获取画笔的位置

    turtle.right(90)  # 逆时针旋转画笔

    turtle.fd(2 * r)  # 向前移动

    turtle.circle(-r, 180)

    turtle.end_fill()  # 填充结束

    return x, y

 

 

# 画桃心

x_y = []

start_x = 0

for _ in range(4):

    turtle.goto(start_x, 50)

    turtle.down()  # 放下笔

    x_y.append(draw_heart(8))

    start_x += 50

    turtle.up()  # 提起画笔

 

 

# 画叶子

def draw_flower(x, y):

    """

    画桃心下的花

    :param x: 桃心尖底的x

    :param y: 桃心尖底的y

    :return:

    """

    turtle.up()

    turtle.goto(x, y)

    turtle.seth(0)  # 恢复画笔向右

    turtle.seth(-90)

    turtle.down()

    turtle.fd(60)

    turtle.goto(x, y)

    turtle.right(60)

    turtle.fd(20)

    turtle.left(90)

    turtle.fd(10)

    turtle.left(120)

    turtle.fd(20)

    turtle.up()

    turtle.goto(x, y)

    turtle.seth(0)  # 恢复画笔向右

    turtle.seth(-115)

    turtle.down()

    turtle.fd(25)

    turtle.up()

    turtle.goto(x, y)

    turtle.seth(0)  # 恢复画笔向右

    turtle.seth(-10)

    turtle.down()

    turtle.fd(20)

    turtle.right(90)

    turtle.fd(8)

    turtle.right(120)

    turtle.fd(20)

    turtle.goto(x, y)

    turtle.seth(-60)

    turtle.fd(20)

    turtle.up()

 

 

for x, y in x_y:

    draw_flower(x, y)

 

# 画小人物

turtle.up()

turtle.goto(-200, -50)

turtle.down()

turtle.seth(0)  # 恢复画笔向右,好控制方向

turtle.seth(45)

turtle.fd(40)

turtle.begin_poly()  # 记录画笔的位置,脚叉的位置

x, y = turtle.get_poly()[0]  # 获取画笔的位置

turtle.right(90)

turtle.fd(35)

turtle.goto(x, y)

turtle.left(135)

turtle.fd(90)

turtle.seth(0)

turtle.circle(30)  # 画圆

turtle.goto(x, y + 60)  # 手的位置

turtle.fd(40)

turtle.circle(30, 70)  # 画圆,拿花手的弧度

turtle.seth(0)

turtle.up()

turtle.goto(x, y + 50)  # 手的位置

turtle.down()

turtle.fd(50)

turtle.begin_poly()  # 记录手的位置等下画花需要用

f_x, f_y = turtle.get_poly()[0]

 

# 眼睛

turtle.up()

turtle.goto(x - 15, y + 120)  # 眼睛的位置

turtle.down()

turtle.pensize(4)

turtle.seth(45)

turtle.circle(-10, 70)  # 画圆弧,拿花手的弧度

turtle.dot(10)  # 眼睛画圆

turtle.up()

 

turtle.goto(x + 10, y + 120)  # 眼睛的位置

turtle.down()

turtle.pensize(4)

turtle.seth(45)

turtle.circle(-10, 70)  # 画圆弧,拿花手的弧度

turtle.dot(10)  # 眼睛   画圆

turtle.up()

 

# 嘴巴

turtle.goto(x, y + 105)  # 眼睛的位置

turtle.down()

turtle.circle(10, 70)  # 画圆弧,拿花手的弧度

 

# 画里拿的花叶子部分

turtle.pensize(3)  # 将画笔大小

turtle.up()

turtle.goto(f_x, f_y)  # 手的位置

turtle.left(20)

turtle.down()

turtle.fd(60)

turtle.pensize(2)  # 将画笔调小

turtle.begin_poly()  # 记录手的位置等下画花需要用

x, y = turtle.get_poly()[0]

turtle.backward(80)

turtle.up()

turtle.goto(x, y)

turtle.down()

turtle.right(90)

turtle.fd(20)

turtle.right(90)

turtle.fd(8)

turtle.right(120)

turtle.fd(25)

turtle.right(200)

turtle.fd(25)

turtle.up()

turtle.goto(x, y)

turtle.down()

turtle.right(60)

turtle.fd(25)

turtle.goto(x, y)

turtle.right(40)

turtle.fd(25)

turtle.left(90)

turtle.fd(8)

turtle.left(110)

turtle.fd(25)

 

turtle.goto(f_x + 34, f_y + 75)

draw_heart(8, angle=20)  # 手里拿的桃心

 

# 写文字

turtle.up()

turtle.goto(150, 200)

turtle.pencolor("PINK")  # 画笔颜色

turtle.write("TO: 所有同学", font=("方正舒体", 30, 'normal'))

turtle.goto(180,140)

turtle.write("送给棒棒的你", font=("方正舒体", 30, 'normal'))

 

turtle.hideturtle()

turtle.mainloop()

 

 

喜欢Python的同学扫码加我哟!!!!!

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/huangguifeng/p/11816423.html
おすすめ