Vẽ đám mây bằng Python với Turtle
Hướng dẫn chi tiết cách vẽ đám mây bằng Python với Turtle
Trong bài viết này, chúng ta sẽ sử dụng Python và thư viện turtle
để tạo ra hình ảnh bầu trời xanh với những đám mây trắng ngẫu nhiên. Đoạn mã không chỉ dễ hiểu mà còn giúp bạn học cách sử dụng cơ bản thư viện turtle
, kết hợp với random
để tạo các vị trí ngẫu nhiên. Đây là bài tập thú vị dành cho người mới bắt đầu lập trình.
I. Tổng quan về đoạn mã
Đoạn mã này sẽ:
- Thiết lập màu nền bầu trời và các thuộc tính bút vẽ.
- Vẽ các hình tròn để tạo hình đám mây.
- Sử dụng
random
để đặt vị trí ngẫu nhiên cho đám mây. - Hoàn thành hình ảnh bầu trời xanh cùng đám mây trắng.
- chia sẻ code chuyển pdf sang word bằng python
II. Mã nguồn chi tiết
Dưới đây là mã nguồn Python và giải thích từng phần:
1. Nhập thư viện và thiết lập ban đầu
import turtle # Thư viện Turtle dùng để vẽ đồ họa
import random # Thư viện Random dùng để tạo số ngẫu nhiên
# Thiết lập các thuộc tính bút vẽ
turtle.speed(0) # Tốc độ vẽ nhanh nhất
turtle.bgcolor("sky blue") # Đặt màu nền là xanh da trời
turtle.colormode(255) # Sử dụng chế độ màu RGB (0-255)
turtle.speed(0)
: Tăng tốc độ vẽ lên mức tối đa.turtle.bgcolor("sky blue")
: Tạo nền màu xanh da trời để giả lập bầu trời.turtle.colormode(255)
: Cho phép sử dụng hệ màu RGB với giá trị từ 0 đến 255.
2. Hàm vẽ hình tròn
def draw_circle(x, y, radius, color):
turtle.penup() # Nhấc bút lên để di chuyển mà không vẽ
turtle.goto(x, y - radius) # Đặt vị trí bắt đầu vẽ
turtle.pendown() # Hạ bút xuống để bắt đầu vẽ
turtle.color(color) # Đặt màu cho bút
turtle.begin_fill() # Bắt đầu tô màu
turtle.circle(radius) # Vẽ hình tròn với bán kính cho trước
turtle.end_fill() # Kết thúc tô màu
penup
và pendown
: Điều khiển bút vẽ khi di chuyển.goto(x, y - radius)
: Đặt vị trí vẽ hình tròn sao cho tâm tròn nằm đúng vị trí mong muốn.begin_fill
và end_fill
: Dùng để tô màu phần bên trong của hình tròn.
3. Hàm vẽ đám mây
def draw_cloud(x, y):
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
# Vẽ các hình tròn để tạo đám mây
for i in range(3):
draw_circle(x + i * 30, y, 30, "white") # Vẽ 3 hình tròn ngang
draw_circle(x - 15, y + 15, 30, "white") # Vẽ hình tròn trên trái
draw_circle(x + 15, y + 15, 30, "white") # Vẽ hình tròn trên phải
4. Tạo đám mây ngẫu nhiên
for _ in range(2): # Tạo 2 đám mây
x = random.randint(-200, 200) # Tọa độ x ngẫu nhiên
y = random.randint(50, 150) # Tọa độ y ngẫu nhiên
draw_cloud(x, y) # Vẽ đám mây tại vị trí ngẫu nhiên
random.randint
: Sinh ra giá trị ngẫu nhiên trong khoảng (-200, 200) cho x và (50, 150) cho y.- Vị trí đám mây sẽ thay đổi mỗi khi chạy chương trình.
5. Kết thúc chương trình
turtle.hideturtle() # Ẩn bút vẽ
turtle.done() # Duy trì cửa sổ đồ họa
hideturtle()
: Ẩn con trỏ bút vẽ để hình ảnh trông gọn gàng hơn.done()
: Kết thúc và giữ cửa sổ hiển thị hình vẽ.
III. Kết quả
Chạy đoạn mã trên sẽ hiển thị:
- Một bầu trời xanh với các đám mây trắng trôi nổi ở vị trí ngẫu nhiên.
- Các đám mây được tạo bởi nhiều hình tròn ghép lại, trông giống mây thật.
IV. Tóm tắt lợi ích
- Học Turtle: Đây là cách tuyệt vời để làm quen với thư viện đồ họa Turtle.
- Tăng cường kỹ năng Python: Kết hợp sử dụng hàm, vòng lặp và thư viện ngoài.
- Tùy chỉnh linh hoạt: Bạn có thể thay đổi số lượng đám mây, kích thước, hoặc màu sắc để tạo ra các cảnh khác nhau.