Cách vẽ các hình dạng khác nhau bằng cách sử dụng một con rùa trong Python

Hệ thống đồ họa này là một cách tuyệt vời cho người mới bắt đầu chinh phục cả Python và vẽ 2D.


Python có nhiều mô-đun cung cấp chức năng cho nhiều tác vụ khác nhau. Một trong những mô-đun này là mô-đun con rùa, thường được sử dụng để dạy những lập trình viên mới bắt đầu một cách trực quan.


Bạn có thể sử dụng mô-đun con rùa để vẽ đồ họa chẳng hạn như đường hoặc hình trên canvas. Ban đầu, bạn có thể sinh ra một hoặc nhiều con rùa trên khung vẽ, đại diện cho các điểm mà bạn có thể di chuyển xung quanh. Khi bạn di chuyển xung quanh, những con rùa vẽ các đường từ điểm này sang điểm khác.

Bạn có thể vẽ nhiều hình dạng khác nhau bằng phương pháp này, bao gồm hình vuông, hình tam giác và hình tròn.


Cách sử dụng rùa để vẽ hình dạng

Bạn có thể sử dụng Python để tạo nhiều chương trình thực tế, chẳng hạn như bảng màu. Khi vẽ rùa bằng Python, trước tiên bạn sẽ cần một khung vẽ và một đối tượng rùa để vẽ các hình dạng. Nếu cần, bạn có thể sửa lại một số ví dụ Python cơ bản.

  1. Tạo một tệp mới có tên hình dạng.py.
  2. Ở đầu tệp, nhập mô-đun rùa:
     import turtle 
  3. Sử dụng mô-đun con rùa để tạo một cửa sổ mới. Điều này sẽ hoạt động như canvas để vẽ hình trên:
     window = turtle.Screen()
    window.bgcolor("white")
  4. Tạo một đối tượng con rùa mới và thiết lập hình dạng và màu sắc của nó:
     turtle_1 = turtle.Turtle()
    turtle_1.shape("turtle")
    turtle_1.color("red")
  5. Ở dưới cùng của tệp, hãy sử dụng hàm exitonclick() để giữ cho khung vẽ luôn mở. Canvas sẽ chỉ đóng khi bạn nhấp vào nó. Đảm bảo rằng bạn giữ dòng này làm lệnh cuối cùng trong chương trình của mình; bạn sẽ nhận được một lỗi khác.
     window.exitonclick() 
  6. Mở dấu nhắc lệnh hoặc thiết bị đầu cuối và điều hướng đến thư mục mà bạn đã lưu trữ tập lệnh Python của mình. Ví dụ: nếu bạn đã lưu trữ tệp Python của mình trên màn hình nền của PC Windows, lệnh của bạn sẽ giống như sau:
     cd C:UsersSharlDesktop 
  7. Chạy lệnh python để mở canvas rùa. Theo mặc định, hướng ban đầu của rùa là hướng về bên phải:
    Bạt rùa với rùa ở vị trí ban đầu

Cách vẽ hình vuông và hình chữ nhật

Vẽ một hình vuông hoặc hình chữ nhật bằng cách sử dụng một con rùa trên canvas. Sử dụng các hàm tiến () và lùi () để di chuyển con rùa xung quanh. Bạn cũng có thể sử dụng các hàm left() hoặc right() để thay đổi hướng mà con rùa đang hướng tới.

  1. Vì con rùa đã quay về hướng ban đầu, hãy di chuyển về phía trước 100 pixel để vẽ đường đầu tiên của hình vuông:
     turtle_1.forward(100) 
  2. Rẽ phải 90 độ để đối mặt với hướng đi xuống. Di chuyển về phía trước một lần nữa để vẽ dòng thứ hai của hình vuông:
     turtle_1.right(90)
    turtle_1.forward(100)
  3. Tiếp tục rẽ phải 90 độ để vẽ hai đường còn lại. Để giữ hình vuông, đảm bảo các cạnh đều có kích thước 100 pixel:
     turtle_1.right(90)
    turtle_1.forward(100)
    turtle_1.right(90)
    turtle_1.forward(100)
  4. Để thay đổi hình dạng này thành hình chữ nhật, hãy sửa đổi mã để làm cho hai cạnh đối diện nhau dài hơn:
     turtle_1.forward(100)
    turtle_1.right(90)
    turtle_1.forward(200)
    turtle_1.right(90)
    turtle_1.forward(100)
    turtle_1.right(90)
    turtle_1.forward(200)
  5. Chạy lại lệnh python bằng dòng lệnh hoặc thiết bị đầu cuối để mở canvas và xem hình chữ nhật:
    Rùa canvas vẽ hình chữ nhật

Cách vẽ hình tam giác

Vẽ một hình tam giác bằng cách sử dụng các hàm tiến (), lùi (), left () hoặc right (). Vì bạn đã vẽ một hình vuông ở vị trí bắt đầu của khung vẽ, hãy vẽ hình tam giác trên một phần khác của khung vẽ.

  1. Tạo một đối tượng rùa mới. Bạn có thể thay đổi hình dạng để sử dụng mũi tên thay vì con rùa:
     turtle_2 = turtle.Turtle()
    turtle_2.shape("arrow")
    turtle_2.color("blue")
  2. Sử dụng hàm penup() để nhấc đối tượng rùa ra khỏi canvas, để nó không còn vẽ một đường nữa:
     turtle_2.penup() 
  3. Di chuyển đối tượng đến một điểm khác trên canvas. Khung vẽ sử dụng mặt phẳng Descartes cho tọa độ, vì vậy điểm gốc là 0, 0. Các tọa độ -250, 200 hướng về góc trên cùng bên trái của khung vẽ.
     turtle_2.goto(-250, 200) 
  4. Sử dụng hàm pendown() để đặt đối tượng rùa trở lại canvas, để nó có thể bắt đầu vẽ lại các đường:
     turtle_2.pendown() 
  5. Vẽ ba cạnh của tam giác bằng cách xoay sang trái 120 độ ba lần. Mỗi lần, hãy vẽ một đường để tạo cạnh của tam giác:
     turtle_2.forward(100)
    turtle_2.left(120)
    turtle_2.forward(100)
    turtle_2.left(120)
    turtle_2.forward(100)
    turtle_2.left(120)
  6. Ngoài ra, tạo tam giác bằng vòng lặp for:
     for i in range(3):
      turtle_2.forward(100)
      turtle_2.left(120)
  7. Chạy lại lệnh python bằng dòng lệnh hoặc thiết bị đầu cuối để mở canvas và xem hình tam giác:
    Rùa vải vẽ hình tam giác

Cách vẽ hình tròn

Sử dụng hàm circle() để vẽ hình tròn. Bạn có thể chọn đường kính của hình tròn bằng cách nhập một giá trị làm đối số vào hàm.

  1. Tạo một đối tượng rùa mới khác để vẽ hình tròn và đặt các thuộc tính màu sắc và hình dạng của nó:
     turtle_3 = turtle.Turtle()
    turtle_3.shape("circle")
    turtle_3.color("green")
  2. Di chuyển con rùa đến một phần khác của canvas. Sử dụng hàm penup() để ngăn đối tượng vẽ một đường khi nó di chuyển. Sau khi di chuyển con rùa, đặt bút xuống một lần nữa:
     turtle_3.penup()
    turtle_3.goto(-100, 50)
    turtle_3.pendown()
  3. Sử dụng hàm circle() để vẽ hình tròn. Nhập đường kính của hình tròn vào hàm.
     turtle_3.circle(50) 
  4. Chạy lại lệnh python bằng dòng lệnh hoặc thiết bị đầu cuối để mở canvas và xem vòng tròn:
    Rùa canvas vẽ hình tròn

Cách vẽ các hình dạng như hình lục giác và hình bát giác

Để vẽ các hình như hình lục giác hoặc hình bát giác, bạn có thể sử dụng vòng lặp for tương tự như vòng lặp được sử dụng trong ví dụ về hình tam giác. Bạn có thể chỉ định số cạnh bằng nhau và tạo các cạnh đó có độ dài bằng nhau.

  1. Tạo một đối tượng rùa mới và thiết lập các thuộc tính hình dạng và màu sắc của nó:
     turtle_4 = turtle.Turtle()
    turtle_4.shape("turtle")
    turtle_4.color("purple")
  2. Di chuyển đối tượng rùa đến một vị trí khác trên canvas:
     turtle_4.penup()
    turtle_4.goto(150,200)
    turtle_4.pendown()
  3. Trong một hình lục giác, tại giao điểm của mỗi đường thẳng, góc tại điểm đó bằng 60 độ. Sau khi vẽ một đường, di chuyển 60 độ sang bên phải để vẽ đường tiếp theo. Làm điều này cho tất cả sáu mặt của hình lục giác:
     for i in range(6):
      turtle_4.forward(100)
      turtle_4.right(60)
  4. Bạn có thể vẽ các loại hình khác có các cạnh bằng nhau bằng cách chia số cạnh cho 360 để được giá trị của góc. Đối với một hình bát giác, mỗi góc giữa mỗi bên là 45 độ. Đối với mỗi trong số tám cạnh, rẽ phải 45 độ và vẽ đường thẳng:
     for i in range(8):
      turtle_4.forward(100)
      turtle_4.right(45)
  5. Chạy lại lệnh python bằng dòng lệnh hoặc thiết bị đầu cuối để mở canvas và xem hình lục giác hoặc hình bát giác. Bạn cũng có thể xem mã nguồn đầy đủ cho tất cả các hình dạng trên Github.
    Rùa vải vẽ hình bát giác

Tìm hiểu về lập trình đồ họa bằng cách tạo hình dạng

Bạn có thể sử dụng đồ họa dựa trên con rùa để vẽ các loại hình dạng khác nhau trên canvas. Tại sao không khám phá những cách khác để tạo hình bằng Python, chẳng hạn như sử dụng ứng dụng JES.

Previous Post
Next Post

post written by: