Skip to content

Vẽ hình trăng tròn đan lưới bằng Python

Image title

Cầm bút để vẽ cho đẹp trên giấy thực sự khó. Cho nên bạn có thể chuyển sang sống ảo, điều khiển máy tính vẽ giùm.

Cập nhật: 25.01.2024



Đây là ví dụ mẫu, cũng là ví dụ mở đầu cho các bài tập mang tính giải trí vẽ các hình cơ bản bằng Python. Bằng một cách nào đó, nó dễ thở hơn vẽ bằng bút rất nhiều.

Khái quát

Để vẽ hình trong Python, ta sử dụng module turtle.

Lúc chạy chương trình, một cửa sổ sẽ hiện ra như bức tranh ảo, bút vẽ sẽ di chuyển theo code của mình trong bức tranh để tạo hình. Bút vẽ này gọi là turtle, cùng tên với module.

Cài đặt

turtle là thư viện đồ họa có sẵn khi cài đặt Python. Nhưng nếu cần, ta có thể cài đặt như sau:

pip install PythonTurtle

Khai báo thư viện Turtle:

import turtle

Khởi tạo

Đầu tiên, ta khai báo thư viện turtle.

import turtle

Tiếp theo, ta khởi tạo màn hình vẽ s và bút vẽ p.

s = turtle.getscreen()
p = turtle.Turtle()

Ta có thể thiết lập màu cho màn hình tùy ý, chẳng hạn màu đen như sau.

turtle.bgcolor('black') 

Tiến hành vẽ

Dùng vòng lặp vẽ 50 hình tròn có bán kính 200, trong đó mỗi hình lệch nhau về bên phải 50 độ.

for _ in range(50):
    p.circle(200)
    p.right(50)

Về cơ bản, như vậy là xong. Tuy nhiên, ta có thể thiết lập thêm các thông số khác. Chẳng hạn, thay đổi độ dày của nét vẽ, tốc độ vẽ và màu của nét vẽ.

p.width(3)
p.speed(0)
p.color('#32cd32')

Tốc độ vẽ có giá trị từ 0 đến 10. Nếu tham số lớn hơn 10 hoặc nhỏ hơn 0.5 thì tốc độ sẽ được đặt thành 0. Chạy thử nghiệm thì nhận thấy 0 là nhanh nhất.

Cuối cùng, ta dừng cửa sổ lại để chiêm ngưỡng tác phẩm.

p.screen.mainloop()

Nếu không có lệnh này, cửa sổ sẽ đóng ngay khi vẽ xong.

Output như sau:

Image title

Toàn bộ chương trình¶

Code đầy đủ được đặt tại GitHub.