絵を学びたいですか?pythonはあなたを満足させます


pythonの中には多くの図形描画ツールがあります。例えば、Matplotlibなどがありますが、これらは表を描くためにしか使えません。今日は絵を描くためのライブラリ――turtleを紹介します。
一、製図の原理
初期位置が(0,0)のウミガメを制御して移動し、関数のセットの指示に従って平面座標系で移動し、その爬行経路に図形を描きました。
二、図形描画を開始する
turtleはpythonが持っているライブラリです。直接importに導入すればいいです。

import turtle
図形描画範囲のプロパティーの設定
図形描画エリアの背景色の設定

turtle.bgcolor('blue')

希望の色を選んでください。
図形描画範囲のサイズ設定

turtle.setup(width=200,height=100)
パラメータ:
width、height: 
幅と高さが整数の場合、ピクセルを表します。
小数点以下の場合、コンピュータの画面を占める割合を表します。
ブラシで図形を描く
まず簡単に直線を描きましょう。

turtle.forward(100)

forward()はturtleの内蔵関数で、原点から前進までの距離を表します。ブラシの角度をコントロールして彼を回転させることもできます。これに対応するのはバックウォードです。後退距離はどれぐらいですか?

turtle.backward(100)
turtle.left(60)
turtle.forward(100)
ここのleft()は画筆の回転方向と角度を表しています。それに対応するrightは右に曲がります。

図のように100の距離を後退して左に60°回転してまた100距離前進しました。他の常用パラメータは下の表を参照してください。
ペン運動関数
関数
説明
turtle.forward(distance)
distanceピクセル長を現在のブラシの方向に移動します。
turtle.backward(distance)
現在のブラシと反対の方向にdistanceピクセルの長さを移動します。
turtle.right(degree)
時計回りにdegree°を移動
turtle.left(degree)
degree°を反時計回りに移動
turtle.pendowown()
移動時に図を描き、デフォルトでも描画します。
turtle.goto(x,y)
ペンを座標x,yの位置に移動します。
turtle.penup()
移動時は図形を描かず、ペンを持ち上げ、別の場所を描く時に使います。
turtle.speed(speed)
ブラシで描画した速度範囲[0,10]の整数
turtle.circle()
円を描くと、半径が正(負)で、円の中心がブラシの左(右)に円を描くことを表します。
ブラシのパラメータ
コマンド
説明
turtle.pensize(width)
図形描画時の幅
turtle.pencolor()
ブラシの色
turtle.fillcolor(colorstring)
図の塗りつぶし色を描画します。
turtle.co lor(color 1,color 2)
pencolor=color 1、fillcolor=color 2を同時に設定します。
turtle.filling()
現在の充填状態を返します。
turtle.beginfill()
図の塗りつぶし開始準備
turtle.end_fill()
塗りつぶし完了;
turtle.hideturtle()
隠し矢印表示;
turtle.showturtle()
hideturtle()関数に対応します。
グローバル制御コマンド
コマンド
説明
turtle.clear()
ウィンドウをクリアしましたが、turtleの位置や状態は変わりません。
turtle.reet()
ウィンドウを空にして、turtleをリセットします。開始状態です。
turtle.undo()
前のturtle動作をキャンセルします。
turtle.isvisible()
現在のturtleを返します。表示されますか?
stamp()
現在の図をコピー
turtle.write(s[font-name],font_シンプルtype「」)
テキストを書いて、sはテキストの内容で、fontはフォントのパラメーターで、中はそれぞれフォントの名称で、大きさとタイプです。fontはオプションです。fontのパラメータもオプションです。
三、for循環文
正方形を描くなら、上の方法によってコードは

import turtle

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
つの簡単な四角形はこのように繰り返して、もっと複雑な図形を描いてまたこのようにすると科学的ではありませんことに見えて、この時私達はfor循環を使います。for循環の語句を使って最適化したコードは

totalTimes=4                       
for times in range(totalTimes):
    turtle.forward(100)
    turtle.left(90)

四、簡単な例
五角星を描画

import turtle

t=turtle.Pen() #    
t.hideturtle() #    
t.begin_fill() #    
for x in range(1, 6):
    t.forward(100)
    t.left(216) #        ,    216°(  ,      180/5=36°)
t.end_fill() #    

桜の木を描く

import turtle as T
import random
import time
 
#       (60,t)
def Tree(branch, t):
  time.sleep(0.0005)
  if branch > 3:
    if 8 <= branch <= 12:
      if random.randint(0, 2) == 0:
        t.color('snow') #  
      else:
        t.color('lightcoral') #     
      t.pensize(branch / 3)
    elif branch < 8:
      if random.randint(0, 1) == 0:
        t.color('snow')
      else:
        t.color('lightcoral') #     
      t.pensize(branch / 2)
    else:
      t.color('sienna') #  (zhě) 
      t.pensize(branch / 10) # 6
    t.forward(branch)
    a = 1.5 * random.random()
    t.right(20 * a)
    b = 1.5 * random.random()
    Tree(branch - 10 * b, t)
    t.left(40 * a)
    Tree(branch - 10 * b, t)
    t.right(20 * a)
    t.up()
    t.backward(branch)
    t.down()
 
#      
def Petal(m, t):
  for i in range(m):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    t.up()
    t.forward(b)
    t.left(90)
    t.forward(a)
    t.down()
    t.color('lightcoral') #     
    t.circle(1)
    t.up()
    t.backward(a)
    t.right(90)
    t.backward(b)
 
#     
t = T.Turtle()
#     
w = T.Screen()
t.hideturtle() #     
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat') # wheat  
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')
 
#       
Tree(60, t)
#      
Petal(200, t)
w.exitonclick()

pythonに関するもっと多い文章はpythonの旅館に注目してください。

以上は絵を学びたいですか?pythonはあなたを満足させますの詳細については、pythonの絵に関する資料については、他の関連記事に注目してください。