1. Chuẩn bị mặt phẳng vẽ và quy ước tọa độ
Bài học này áp dụng cho robot có bút và có thể di chuyển đầu bút đến một tọa độ xác định. Hãy cố định giấy, kiểm tra bút có thể nâng khỏi mặt giấy, rồi chọn vùng vẽ hình vuông 24 × 24 cm nằm trong tầm hoạt động của robot.
Đặt gốc tọa độ O = (0, 0) ở góc dưới bên trái vùng vẽ. Trục x tăng sang phải, trục y tăng lên trên; mọi tọa độ dưới đây tính bằng centimét. Trước khi vẽ, cho robot nâng bút và lần lượt di chuyển đến vài điểm dễ nhận biết, chẳng hạn (4, 4) và (16, 4), để kiểm tra hướng trục và đơn vị đo.
2. Biến một hình vẽ thành danh sách điểm
Robot vẽ một cạnh bằng cách hạ bút và di chuyển từ điểm đầu đến điểm cuối. Vì vậy, chương trình cần lưu các đỉnh theo đúng thứ tự đi qua và quay lại đỉnh đầu để khép kín hình. Khi chuyển sang một hình khác, hãy nâng bút trước khi di chuyển để tránh tạo nét nối ngoài ý muốn.
Một số môi trường lập trình dùng tọa độ màn hình với trục y tăng xuống dưới. Nếu vùng vẽ cao 24 cm và phần mềm dùng cùng đơn vị, có thể đổi từ tọa độ trong bài sang tọa độ màn hình bằng công thức x_màn_hình = x và y_màn_hình = 24 − y. Chỉ áp dụng phép đổi này nếu hệ tọa độ của robot thực sự có hướng như vậy.
3. Vẽ tam giác đều từ độ dài cạnh
Chọn cạnh dài 12 cm và đặt hai đỉnh đầu là A = (4, 4), B = (16, 4). Đỉnh thứ ba nằm trên trung điểm của AB, ở độ cao bằng 12 × √3 / 2. Do đó, C = (10, 4 + 6√3), xấp xỉ (10, 14,39). Khoảng cách giữa từng cặp đỉnh A, B, C đều bằng 12 cm.
Cho robot nâng bút đến A, hạ bút rồi đi theo thứ tự A → B → C → A. Quan sát xem nét cuối có chạm đúng A không. Nếu chưa, hãy kiểm tra lại tọa độ, đơn vị đo và cách robot xử lý lệnh di chuyển đến điểm.
4. Tính năm đỉnh của ngôi sao
Đặt tâm ngôi sao tại M = (12, 12) và bán kính đường tròn đi qua năm đỉnh là R = 8 cm. Đánh số các đỉnh từ i = 0 đến 4, bắt đầu ở đỉnh trên cùng. Với mỗi i, tính góc θ = 90° + 72° × i, rồi tính Pᵢ = (12 + 8 cos θ, 12 + 8 sin θ). Nếu phần mềm dùng radian, hãy đổi độ sang radian trước khi gọi hàm sin và cos.
Các điểm gần đúng là P₀ = (12, 20), P₁ = (4,39, 14,47), P₂ = (7,30, 5,53), P₃ = (16,70, 5,53) và P₄ = (19,61, 14,47). Tất cả đều nằm trong vùng 24 × 24 cm đã chọn.
5. Nối điểm để tạo ngôi sao năm cánh
Nếu nối năm đỉnh theo thứ tự 0 → 1 → 2 → 3 → 4 → 0, robot sẽ vẽ ngũ giác. Để tạo ngôi sao năm cánh bằng một nét liên tục, hãy bỏ qua một đỉnh sau mỗi lần nối: 0 → 2 → 4 → 1 → 3 → 0.
Sau khi hoàn tất tam giác, nâng bút và đưa robot đến P₀. Hạ bút, đi lần lượt qua P₂, P₄, P₁, P₃ rồi trở lại P₀. Các đoạn thẳng sẽ giao nhau ở bên trong; không cần nâng bút tại các giao điểm.
6. Ghép các bước thành chương trình
Có thể tổ chức chương trình bằng ba thao tác cơ bản: nâng_bút(), hạ_bút() và đi_đến(x, y). Với mỗi hình, lưu một danh sách điểm theo thứ tự vẽ; nâng bút để đến điểm đầu, hạ bút, rồi duyệt các điểm còn lại. Nhớ thêm điểm đầu vào cuối danh sách để khép kín nét.
Ví dụ, danh sách tam giác là [A, B, C, A]; danh sách ngôi sao là [P₀, P₂, P₄, P₁, P₃, P₀]. Sau khi vẽ xong một danh sách, nâng bút trước khi bắt đầu danh sách tiếp theo. Nếu robot chỉ nhận lệnh di chuyển tương đối, hãy lấy tọa độ điểm kế tiếp trừ tọa độ hiện tại để tìm độ dịch chuyển theo x và y.
7. Kiểm tra kết quả và mở rộng bài tập
Trước khi hạ bút, chạy thử đường đi với bút ở trạng thái nâng và kiểm tra mọi điểm đều nằm trong vùng robot có thể tiếp cận. Khi vẽ thật, đối chiếu ba tiêu chí: tam giác có ba cạnh bằng nhau, mỗi hình được khép kín, và không có nét nối giữa tam giác với ngôi sao.
Để luyện tập thêm, hãy đổi cạnh tam giác hoặc bán kính ngôi sao nhưng giữ các đỉnh trong vùng vẽ. Sau đó thử tịnh tiến hình bằng cách cộng cùng một độ lệch vào mọi tọa độ. Bài tập này giúp thấy rõ sự khác nhau giữa hình dạng của đường đi và vị trí của nó trên giấy.


