【Pythonプログラミング(2)】Pythonの基本的なグラフィック描画

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()関数
298件のオリジナル記事を公開 181 件を賞賛 100,000回以上の閲覧

おすすめ

転載: blog.csdn.net/happyjacob/article/details/105130741