Turtle เป็นฟีเจอร์พิเศษของ Python ใช้วาดกราฟิกง่ายๆ บน "กระดาษวาด" (drawing board) เหมาะสำหรับเรียนรู้ programming และ geometry
เริ่มต้นใช้งาน
import turtle
my_window = turtle.Screen()
my_window.bgcolor("blue")
my_pen = turtle.Turtle()
my_pen.forward(150)
my_pen.left(90)
my_pen.forward(75)
my_pen.color("white")
my_pen.pensize(12)
เมธอดสำคัญของ Turtle
| เมธอด | พารามิเตอร์ | คำอธิบาย |
|---|---|---|
Turtle() | None | สร้าง turtle object ใหม่ |
forward(distance) | amount | เดินหน้าตามระยะทาง |
backward(distance) | amount | ถอยหลังตามระยะทาง |
right(angle) | angle | หมุนขวา (clockwise) องศา |
left(angle) | angle | หมุนซ้าย (counter-clockwise) องศา |
penup() / up() | None | ยกปากกาขึ้น (ไม่วาด) |
pendown() / down() | None | วางปากกาลง (วาด) |
color(color) | color name | เปลี่ยนสีปากกา |
fillcolor(color) | color name | สีสำหรับ fill รูปหลายเหลี่ยม |
begin_fill() | None | เริ่มจดจุดเพื่อ fill |
end_fill() | None | ปิดรูปและ fill สี |
goto(x, y) | x, y | ย้ายไปพิกัด (x,y) |
position() | None | คืนพิกัดปัจจุบัน |
heading() | None | คืนทิศทางปัจจุบัน |
circle(radius) | radius | วาดวงกลม |
dot(size) | None | วาดจุดที่ตำแหน่งปัจจุบัน |
stamp() | None | ตราประทับรูปเต่าที่ตำแหน่งปัจจุบัน |
shape(name) | shapename | 'arrow', 'classic', 'turtle', 'circle' |
speed(speed) | 0-10 | ความเร็วการวาด (0=เร็วที่สุด) |
done() / exitonclick() | None | จบการวาด / รอคลิกเพื่อปิด |
ตัวอย่าง: วาดสี่เหลี่ยมจัตุรัส
import turtle
my_pen = turtle.Turtle()
for i in range(4):
my_pen.forward(50)
my_pen.right(90)
turtle.done()

ตัวอย่าง: วาดดาว
import turtle
my_pen = turtle.Turtle()
for i in range(5):
my_pen.forward(50)
my_pen.right(144)
turtle.done()

ตัวอย่าง: วาดหกเหลี่ยม
import turtle
polygon = turtle.Turtle()
num_sides = 6
side_length = 70
angle = 360.0 / num_sides
for i in range(num_sides):
polygon.forward(side_length)
polygon.right(angle)
turtle.done()

ตัวอย่าง: สี่เหลี่ยมซ้อนกัน
import turtle
my_wn = turtle.Screen()
my_wn.bgcolor("light blue")
my_wn.title("Turtle")
my_pen = turtle.Turtle()
my_pen.color("black")
def sqrfunc(size):
for i in range(4):
my_pen.fd(size)
my_pen.left(90)
size = size - 5
sqrfunc(146)
sqrfunc(126)
sqrfunc(106)
sqrfunc(86)
sqrfunc(66)
sqrfunc(46)
sqrfunc(26)

ตัวอย่าง: รูปแบบวงกลมสวยงาม
import turtle
turtle.speed(0)
for i in range(30):
turtle.circle(5*i)
turtle.circle(-5*i)
turtle.left(i)
turtle.exitonclick()

ตัวอย่าง: สปิรัลสีสัน
import turtle
colors = ["red", "purple", "blue", "green", "orange", "yellow"]
my_pen = turtle.Pen()
turtle.bgcolor("black")
for x in range(360):
my_pen.pencolor(colors[x % 6])
my_pen.width(x/100 + 1)
my_pen.forward(x)
my_pen.left(59)

สรุป: Turtle เหมาะสำหรับการเรียนรู้ programming logic, geometry, และสร้างศิลปะ generative art อย่างสนุกสนาน