Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Turtle Graphics ด้วย Python

Turtle เป็นไลบรารี Python สำหรับวาดกราฟิกส์ หลังจาก import Turtle เราสามารถสั่งคำสั่งอย่าง forward, backward, right, left ฯลฯ คำสั่งเหล่านี้จะวาดรูปทรงต่างๆ เมื่อเรารวมคำสั่งเหล่านี้เข้าด้วยกัน เราสามารถสร้างกราฟิกส์สวยงามได้มาก ในตัวอย่างด้านล่างเราจะดูสถานการณ์ง่ายๆ และซับซ้อนๆ ที่สร้างกราฟิกส์สวยงาม

คำสั่ง Turtle พื้นฐาน

  • forward(10) เคลื่อนเต่า (ลูกศร) ไปข้างหน้า 10 พิกเซล

  • backward(5) เคลื่อนเต่า (ลูกศร) ถอยหลัง 5 พิกเซล

  • right(35) หมุนเต่า (ลูกศร) ทวนเข็มนาฬิกา 35 องศา

  • left(55) หมุนเต่า (ลูกศร) ตรงข้ามเข็มนาฬิกา 55 องศา

  • goto(x, y) เคลื่อนเต่า (ลูกศร) ไปตำแหน่ง x, y

  • dot() สร้างจุดที่ตำแหน่งปัจจุบัน

  • shape('circle') วาดรูปวงกลม

ตัวอย่าง

มาดูการวาดรูปด้วยคำสั่งง่ายๆ

วาดดาว

ในโปรแกรมด้านล่างเราวาดดาว เราเลือกขั้นตอนที่เหมาะสมเพื่อเคลื่อนเคอร์เซอร์ไปข้างหน้าแล้วหมุนขวาต่อเนื่องเพื่อได้ผลลัพธ์นี้

ตัวอย่าง

import turtle
star = turtle.Turtle()
for i in range(100):
    star.forward(100)
    star.right(144)
turtle.done()

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

ผลลัพธ์

Turtle Graphics ด้วย Python

วาดตัวอักษร E

เราใช้แนวทางคล้ายกันที่เต่าเคลื่อนที่ใน 4 ทิศทางเพื่อสร้างตัวอักษรอังกฤษ E

ตัวอย่าง

import turtle
t = turtle.Turtle()
t.penup()
t.setpos(-20, 40)
t.pendown()
t.pensize(10)
t.pencolor("pink")
t.forward(100)
t.backward(100)
t.right(90)
t.forward(100)
t.left(90)
t.forward(100)
t.backward(100)
t.right(90)
t.forward(100)
t.left(90)
t.forward(100)
turtle.done()

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

ผลลัพธ์

Turtle Graphics ด้วย Python

สี่เหลี่ยมจัตุรัสหลายรูป

ในตัวอย่างถัดไปเราเห็นการวาดสี่เหลี่ยมจัตุรัสหลายรูป เริ่มจากจุดร่วมเดียวกัน เราใช้คำสั่งพื้นฐานไปข้างหน้า ถอยหลัง และหมุน 90 องศา

ตัวอย่าง

import turtle
mult_square = turtle.Turtle()

def Multiple_Squares(length, colour):
    mult_square.pencolor(colour)
    mult_square.pensize(2)
    mult_square.forward(length)
    mult_square.right(90)
    mult_square.forward(length)
    mult_square.right(90)
    mult_square.forward(length)
    mult_square.right(90)
    mult_square.forward(length)
    mult_square.right(90)
    mult_square.setheading(360)

for i in range(60, 120, 15):
    Multiple_Squares(i, "blue")
turtle.done()

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

ผลลัพธ์

Turtle Graphics ด้วย Python

หกเหลี่ยมเกลียว (Spiral Hexagon)

นี่เป็นตัวอย่างน่าสนใจที่เราใช้ turtle สร้างโครงสร้างเกลียว รูปทรงสุดท้ายคือหกเหลี่ยม และมีสีต่างๆ ใช้สร้างด้านของหกเหลี่ยม

ตัวอย่าง

import turtle
colors = ["pink", "yellow", "blue", "green", "white", "red"]
sketch = turtle.Pen()
turtle.bgcolor("black")
for i in range(200):
    sketch.pencolor(colors[i % 6])
    sketch.width(i/100 + 1)
    sketch.forward(i)
    sketch.left(59)

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

Turtle Graphics ด้วย Python

สรุป: Turtle graphics เป็นวิธีสนุกและเข้าใจง่ายสำหรับเรียนรู้การเขียนโปรแกรมและเรขาคณิต