記事ディレクトリ
1例:Python描画
#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()
2カメライブラリーの使用
2.1カメの描画フォーム
カメのキャンバススペースを次に示します。
描画フォームの左上隅の位置はフォームの位置を表し、フォームの長さと幅はフォームのサイズを表します。
ウィンドウのサイズと位置は、関数setup()で描画できます。
turtle.setup(幅、高さ、startx、starty)
- 4つのパラメーターのうち最後の2つはオプションです
- セットアップ()は必要ありません
setup()関数は次のように使用されます。
2.2カメ空間座標系
カメの絶対座標系では、右が正のx方向、上が正のy方向です。
関数goto()は、指定された座標位置に直接移動できます。関数は次のとおりです。
turtle.goto(x、y)
例:
import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(0,0)
実装は次のとおりです
。circle(r、angle)は、現在のポイントの左側にある距離rの位置を円の中心として円を描きます。角度は角度
fd(d)であり、現在の方向の距離dを表します
2.3カメの角座標系
seth()関数は、トラベル
turtle.seth(角度)の方向を変更できます
- 角度は絶対次数です
- セス()は方向を変えるだけで移動しない
left()関数とright関数はそれぞれ、左から右への特定の回転角度を示します:
turtle.left(angle)
turtle.right(angle)
例:
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
実装:
2.4 RGBカラーシステム
3つの色で構成されるすべてのもの
- RGBは、赤、青、緑の3つのチャネルの色の組み合わせを指します
- 視覚が知覚できるすべての色をカバーする
- RGB各色の値の範囲0-255整数または0-1小数
英語名 | RGB整数値 | RGB 10進値 | 中国の名前 |
---|---|---|---|
白い | 255、255、255 | 1、1、1 | 白 |
黄 | 255、255、0 | 1、1、0 | 黄 |
赤紫色 | 255、0、255 | 1、0、1 | マゼンタ |
シアン | 0、255、255 | 0、1、1 | 青色 |
青い | 0、0、255 | 0、0、1 | 青 |
黒 | 0、0、0 | 0、0、0 | 黒 |
貝殻 | 255、245、238 | 1、0.96、0.93 | 貝殻 |
ゴールド | 255、215、0 | 1、0.84、0 | ゴールデン |
ピンク | 255、192、203 | 1、0.75、0.80 | ピンク色 |
褐色 | 165、42、42 | 0.65、0.16、0.16 | ブラウン |
紫の | 160、32、240 | 0.63、0.13、0.94 | パープル |
トマト | 255、99、71 | 1、0.39、0.28 | トマト色 |
デフォルト値は10進数で、整数値に切り替えることができます
turtle.colormode(mode)
- 1.0:RGB 10進数値モード
- 255:RGB整数値モード
3タートルプログラムの構文要素分析
3.1ライブラリの参照とインポート
ライブラリリファレンス:Pythonプログラムの機能を拡張する方法
- インポート予約語を使用して完了し、<a>を採用します。<B>()コーディングスタイル
インポート<ライブラリ名>
<ライブラリ名>。<関数名>(<関数パラメーター>)
例:
しかし、亀を何度も書くことは非常に退屈です、それを書く別の方法があります、それはより簡単です
- fromを使用して予約語をインポートし
、<library name>から補完しますimport <function name>
from <library name> import *
<function name>(<function parameter>)
例:
2つの書き込み方法の比較:
1つを書き込む:
インポート<ライブラリ名>
<ライブラリ名>。<関数名>(<関数パラメータ>)
2つの記述:
<ライブラリ名>からインポート<関数名>
<ライブラリ名>からインポート*
<関数名>(<関数パラメータ>)
最初の方法は関数の重複した名前の問題を引き起こさず、2番目の方法が表示されます
より多くの使用法をインポート:エイリアスライブラリ
- インポートと予約語を使用して、
インポート<ライブラリ名>を<ライブラリエイリアス>
<ライブラリエイリアス> として完成させます。<関数名>(<関数パラメータ>)
呼び出された外部ライブラリを、短くて適切な名前の
例に関連付けます。
3.2タートルペン制御機能
ペンには、ペンアップ()、ペンダウン()、ペンサイズ()、ペンカラー()の4つの制御機能があります。
- turtle.penup()エイリアスturtle.pu()
はペンを発生させます - turtle.pendown()エイリアスturtle.pd()
ドロップペン - turtle.pensize(width)エイリアスturtle.width(width)
ペンの幅 - turtle.pencolor(color)colorは、カラー文字列またはr、g、b値の
ペンの色です
ペンカラー(色)には3つの形式があります。
- 色文字列:turtle.pencolor( "紫")
- RGBの10進値:turtle.pencolor(0.63、0.13、0.94)
- RGBタプル値:turtle.pencolor((0.63,0.13,0.94))
3.3カメモーションコントロール機能
2つのモーション制御関数、fd()とcircle()があります。
- turtle.forward(d)エイリアスturtle.fd(d)
前方に移動し、直進します。dは移動距離です。負にすることもできます - turtle.circle(r、エクステント=なし)
は、半径rに従ってエクステント角度の円弧を描画します。デフォルトの中心はタートルの左側からrの距離にあり、エクステントは描画角度で、デフォルトは360度の円です
3.4タートル方向制御機能
3つの方向制御機能があります。つまり、seth()、left()、right()、seth()は絶対角度を変更し、left()とright()はカメの角度を変更します
- turtle.setheading(angle)エイリアスturtle.seth(angle)は
、進行方向を変更します。angle は、進行方向の絶対角度です - turtle.left(angle)タートルは左に曲がります
- turtle.right(angle)タートルは
直角になります:タートルの現在の進行方向の回転角度
3.5基本的なループステートメント
ループ内の一連のステートメントを特定の回数実行する
- 範囲(<数値>)の<変数>の場合:
<ループで実行されるステートメント>
<Variable>は各サイクルのカウントを表し、0〜<number> -1
例:
>>> for i in range(5):
print("hello:",i)
hello: 0
hello: 1
hello: 2
hello: 3
hello: 4
range()関数:ループカウントシーケンスを生成する
- 範囲(N):0からN-1までの整数シーケンス、合計Nを生成します
- 範囲(M、N):MからN-1までの整数シーケンス、合計NMを生成します
4まとめ
カメライブラリーの使用
- 亀ライブラリの亀描画方法
- turtle.setup()は、コンピューター画面上の描画フォームのレイアウトを調整します
- キャンバス上の中心を原点とする空間座標系:絶対座標と亀の座標
- キャンバス上でスペースx軸が0度の角度座標系:絶対角度と亀の角度
- RGBカラーシステム、整数値と10進数値、カラーモードスイッチ
Turtleプログラムの構文要素分析
- ライブラリ参照:import、from ... import、import ... as ...
- ペンアップ()、ペンダウン()、ペンサイズ()、ペンカラー()
- fd()、circle()、seth()
- ループステートメント:forおよびin、range()関数