Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đồ họa Turtle trong Python

Module turtle cung cấp đồ họa rùa (logo-style) đơn giản, phù hợp giáo dục, vẽ hình học, fractal.

Các phương thức chính

MethodTham sốMô tả
forward(d)distanceTiến về trước
backward(d)distanceLùi lại
right(angle)degreesQuay phải (clockwise)
left(angle)degreesQuay trái (counter-clockwise)
penup() / up()-Nhấc bút (không vẽ)
pendown() / down()-Hạ bút (vẽ)
color(c)color nameMàu bút
fillcolor(c)color nameMàu fill
begin_fill()-Bắt đầu fill
end_fill()-Kết thúc fill
goto(x,y)x, yDi chuyển đến tọa độ
circle(r)radiusVẽ tròn
dot(size)diameterVẽ chấm
stamp()-Dấu ấn hình rùa
shape(name)'arrow'/'turtle'/'circle'Hình dạng con trỏ

Ví dụ 1: Hình cơ bản

import turtle

wn = turtle.Screen()
wn.bgcolor("blue")
pen = turtle.Turtle()
pen.forward(150)
pen.left(90)
pen.forward(75)
pen.color("white")
pen.pensize(12)
turtle.done()

Ví dụ 2: Vẽ vuông

import turtle
pen = turtle.Turtle()
for _ in range(4):
    pen.forward(50)
    pen.right(90)
turtle.done()

Ví dụ 3: Vẽ sao 5 cánh

import turtle
pen = turtle.Turtle()
for _ in range(5):
    pen.forward(100)
    pen.right(144)  # 180 - 360/5
turtle.done()

Ví dụ 4: Lục giác

import turtle
poly = turtle.Turtle()
n_sides, side_len = 6, 70
angle = 360 / n_sides
for _ in range(n_sides):
    poly.forward(side_len)
    poly.right(angle)
turtle.done()

Ví dụ 5: Vuông lồng nhau

import turtle

def draw_square(pen, size):
    for _ in range(4):
        pen.forward(size)
        pen.left(90)

pen = turtle.Turtle()
for size in range(146, 20, -20):
    draw_square(pen, size)
turtle.done()

Ví dụ 6: Hoa xoáy (spiral)

import turtle
turtle.speed(0)
for i in range(100):
    turtle.circle(5*i)
    turtle.circle(-5*i)
    turtle.left(i)
turtle.exitonclick()

Ví dụ 7: Bút màu cầu vồng

import turtle
colors = ["red","purple","blue","green","orange","yellow"]
pen = turtle.Pen()
turtle.bgcolor("black")
for x in range(360):
    pen.pencolor(colors[x % 6])
    pen.width(x/100 + 1)
    pen.forward(x)
    pen.left(59)
turtle.done()