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()
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้
ผลลัพธ์

วาดตัวอักษร 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()
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้
ผลลัพธ์

สี่เหลี่ยมจัตุรัสหลายรูป
ในตัวอย่างถัดไปเราเห็นการวาดสี่เหลี่ยมจัตุรัสหลายรูป เริ่มจากจุดร่วมเดียวกัน เราใช้คำสั่งพื้นฐานไปข้างหน้า ถอยหลัง และหมุน 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()
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้
ผลลัพธ์

หกเหลี่ยมเกลียว (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 เป็นวิธีสนุกและเข้าใจง่ายสำหรับเรียนรู้การเขียนโปรแกรมและเรขาคณิต