Mở Đầu

Scratch là một môi trường lập trình trực quan, thân thiện với người mới bắt đầu, đặc biệt là trẻ em và học sinh. Một trong những tính năng mạnh mẽ của Scratch là khả năng vẽ hình đồ họa bằng các khối lệnh. Việc hiểu và thành thạo cách vẽ hình trong Scratch không chỉ giúp bạn tạo ra những hình ảnh sinh động, mà còn rèn luyện tư duy logic, khả năng giải quyết vấn đề và sáng tạo. Bài viết này sẽ hướng dẫn chi tiết cách vẽ các hình cơ bản như đường thẳng, hình vuông, hình tam giác, hình tròn, và cả những hình phức tạp hơn như ngôi sao, hoa văn, hoặc các hình động. Chúng ta sẽ bắt đầu từ những khái niệm cơ bản, sau đó tiến tới các kỹ thuật nâng cao, kèm theo các ví dụ thực tế và mẹo tối ưu hoá.

1. Scratch và Bộ Công Cụ Vẽ

1.1. Giao Diện Scratch

Scratch bao gồm ba khu vực chính:

  1. Khu vực khối lệnh (Blocks Palette): Nơi chứa các khối lệnh được chia thành các danh mục như Motion (Di chuyển), Looks (Diện mạo), Sound (Âm thanh), Events (Sự kiện), Control (Điều khiển), và Sensing (Cảm biến).
  2. Khu vực lập trình (Scripts Area): Nơi kéo thả các khối lệnh để tạo script.
  3. Sân khấu (Stage): Nơi hiển thị kết quả của chương trình, bao gồm cả các sprite (đối tượng) và nền (backdrop).

1.2. Sprite “Pen”

Để vẽ trong Scratch, chúng ta cần sử dụng pen (bút). Scratch cung cấp một sprite đặc biệt gọi là Pen (Pen Sprite). Bạn có thể thêm sprite này bằng cách:

  • Bước 1: Nhấn vào biểu tượng “Choose a Sprite from Library”.
  • Bước 2: Tìm và chọn “Pen” trong danh mục “Things”.
  • Bước 3: Đặt sprite này ở vị trí bất kỳ trên sân khấu (thường là góc trái trên).

Khi sprite Pen được chọn, nó sẽ cung cấp các khối lệnh liên quan đến việc vẽ: clear, stamp, pen down, pen up, set pen color to, change pen size by, v.v.

2. Các Khái Niệm Cơ Bản Khi Vẽ

2.1. Pen Down / Pen Up

Cách Vẽ Hình Trong Scratch
Cách Vẽ Hình Trong Scratch
  • Pen Down: Khi lệnh này được thực thi, bút sẽ chạm vào sân khấu và mọi di chuyển của sprite sẽ để lại dấu vết.
  • Pen Up: Khi lệnh này được thực thi, bút sẽ được nâng lên, di chuyển sẽ không để lại dấu.

2.2. Pen Size (Độ Dày Bút)

Khối set pen size to (10) cho phép bạn điều chỉnh độ dày của nét vẽ. Giá trị thường nằm trong khoảng 1‑100.

2.3. Pen Color (Màu Bút)

Bạn có thể thay đổi màu bút bằng:
– set pen color to color (chọn màu trong bảng màu).
– set pen color to (random color) để tạo màu ngẫu nhiên.
– change pen color by (10) để tăng/giảm màu theo dạng HSV (hue).

2.4. Clear và Stamp

  • Clear: Xóa toàn bộ các nét vẽ trên sân khấu.
  • Stamp: Đánh dấu hình ảnh hiện tại của sprite lên sân khấu mà không cần di chuyển bút.

3. Vẽ Đường Thẳng Cơ Bản

3.1. Thuật Toán

Để vẽ một đoạn thẳng:
1. Đưa bút xuống (pen down).
2. Di chuyển sprite tới vị trí đích (go to x: () y: () hoặc move (10) steps).
3. Khi hoàn thành, nâng bút lên (pen up).

3.2. Ví Dụ Thực Hành

Cách Vẽ Hình Trong Scratch
Cách Vẽ Hình Trong Scratch
when green flag clicked
clear
go to x: -100 y: 0
pen down
move 200 steps
pen up

Khi nhấn lá cờ xanh, sprite Pen sẽ vẽ một đoạn thẳng dài 200 pixel trên trục hoành.

4. Vẽ Hình Vuông và Hình Chữ Nhật

4.1. Thuật Toán

Hình vuông có 4 cạnh bằng nhau và góc vuông. Ta có thể lặp lại 4 lần:
– Di chuyển một đoạn độ dài cố định.
– Quay 90 độ sang phải (hoặc trái).

4.2. Mã Scratch

when green flag clicked
clear
go to x: -50 y: -50
pen down
repeat 4 move 100 steps turn cw 90 degrees
end
pen up

4.3. Vẽ Hình Chữ Nhật

Thay đổi độ dài của 2 cạnh:

when green flag clicked
clear
go to x: -80 y: -40
pen down
repeat 2 move 160 steps turn cw 90 degrees move 80 steps turn cw 90 degrees
end
pen up

5. Vẽ Tam Giác

5.1. Tam Giác Đều

Tam giác đều có ba cạnh bằng nhau và ba góc 60°. Thuật toán:

when green flag clicked
clear
go to x: -60 y: -30
pen down
repeat 3 move 120 steps turn cw 120 degrees
end
pen up

5.2. Tam Giác Vuông

Tam giác vuông có một góc 90°. Ví dụ:

when green flag clicked
clear
go to x: -80 y: -80
pen down
move 120 steps
turn cw 90 degrees
move 120 steps
turn cw 135 degrees
move sqrt(2)120 steps // Scratch không có sqrt, dùng tính toán trước
pen up

Trong Scratch, bạn có thể tính toán sqrt(2)120 bằng khối set temp v to (120 sqrt (2)).

6. Vẽ Hình Tròn

Cách Vẽ Hình Trong Scratch
Cách Vẽ Hình Trong Scratch

6.1. Phương Pháp Dùng Vòng Lặp

Scratch không có hàm vẽ vòng tròn trực tiếp, nhưng chúng ta có thể mô phỏng bằng cách di chuyển sprite theo vòng tròn nhỏ:

  • Bước 1: Đặt bút xuống.
  • Bước 2: Lặp lại 360 lần: di chuyển một bước nhỏ và quay một độ.
when green flag clicked
clear
go to x: 0 y: 0
pen down
repeat 360 move 1 steps turn cw 1 degrees
end
pen up

6.2. Điều Chỉnh Độ Mịn

Tăng move và giảm turn để làm tròn mịn hơn, ví dụ move 0.5 steps và turn cw 0.5 degrees, lặp lại 720 lần.

6.3. Vòng Tròn Bằng Độ Dài Cạnh

Bạn cũng có thể tính bán kính và dùng công thức chu vi để quyết định số bước:

  • Chu vi = 2πr.
  • Nếu muốn 1 bước = 1 pixel, số bước = chu vi.

Ví dụ, bán kính 50 pixel:

set r v to 50
set steps v to (2 3.1416 (r))
set angle v to (360 / (steps))
pen down
repeat (steps) move 1 steps turn cw (angle) degrees
end
pen up

7. Vẽ Ngôi Sao Năm Cánh

7.1. Thuật Toán

Ngôi sao năm cánh có 5 góc nhọn. Mỗi lần di chuyển:

  • Di chuyển một đoạn dài.
  • Quay 144 độ (vì 180 – 36 = 144, trong một ngôi sao 5 cánh).
when green flag clicked
clear
go to x: 0 y: 0
pen down
repeat 5 move 150 steps turn cw 144 degrees
end
pen up

7.2. Thay Đổi Kích Thước

Thay đổi độ dài di chuyển để thay đổi kích thước ngôi sao.

8. Vẽ Hoa Văn Lặp Lại (Pattern)

Cách Vẽ Hình Trong Scratch
Cách Vẽ Hình Trong Scratch

8.1. Ý Tưởng

Kết hợp các hình cơ bản (như hình tròn, tam giác) trong một vòng lặp để tạo hoa văn. Dưới đây là ví dụ vẽ 12 vòng tròn xoay quanh tâm.

when green flag clicked
clear
go to x: 0 y: 0
pen down
set pen size to 2
repeat 12 // vẽ vòng tròn repeat 360 move 0.5 steps turn cw 1 degrees end // quay vị trí cho vòng tròn tiếp theo turn cw 30 degrees move 100 steps turn cw 180 degrees
end
pen up

8.2. Mẫu Hoa Văn Đường Nét

Bạn có thể dùng stamp để tạo dấu chấm:

when green flag clicked
clear
set pen size to 1
pen up
go to x: -150 y: 0
repeat 12 stamp turn cw 30 degrees move 30 steps
end

9. Kỹ Thuật Nâng Cao

9.1. Sử Dụng Biến Để Động Hóa

Bạn có thể tạo các biến để điều chỉnh kích thước, màu sắc, và tốc độ vẽ một cách động.

when green flag clicked
clear
set size v to 50
set angle v to 0
repeat 36 set pen color to (pick random (1) to (200)) set pen size to (size) go to x: (cos (angle) 100) y: (sin (angle) 100) pen down // vẽ hình vuông repeat 4 move size steps turn cw 90 degrees end pen up change angle v by (10) change size v by (2)
end

9.2. Vẽ Đồ Thị (Graph) Với Pen

Bạn có thể dùng Pen để vẽ biểu đồ dữ liệu:

when green flag clicked
clear
set pen size to 3
pen down
go to x: -200 y: -150
set pen color to blue
repeat 10 // Giả sử dữ liệu ngẫu nhiên set value v to (pick random (10) to (100)) change y by (value) move 40 steps
end
pen up

9.3. Tạo Hiệu Ứng Gradient (Màu Đổ)

Scratch không hỗ trợ gradient trực tiếp, nhưng bạn có thể thay đổi màu dần dần trong vòng lặp:

when green flag clicked
clear
pen down
set pen size to 4
set hue v to 0
repeat 100 set pen color to (hue) move 5 steps change hue v by (3)
end
pen up

10. Thực Hành: Dự Án Mini – Vẽ Một Cánh Đồng

Cách Vẽ Hình Trong Scratch
Cách Vẽ Hình Trong Scratch

10.1. Mô Tả Dự Án

Chúng ta sẽ vẽ một cánh đồng bao gồm:
– Bầu trời (hình chữ nhật màu xanh nhạt).
– Mặt đất (hình chữ nhật màu xanh lá).
– Một vài cây (hình tam giác và hình chữ nhật).
– Mặt trời (hình tròn).

10.2. Các Bước Thực Hiện

  1. Vẽ bầu trời:
when green flag clicked
clear
go to x: 0 y: 150
set pen size to 200
set pen color to light blue
pen down
move 400 steps
pen up
  1. Vẽ mặt đất:
go to x: 0 y: -150
set pen size to 200
set pen color to green
pen down
move 400 steps
pen up
  1. Vẽ cây (lặp lại 5 lần với vị trí ngẫu nhiên):
repeat 5 // Thân cây go to x: (pick random (-200) to (200)) y: -150 set pen size to 10 set pen color to brown pen down move 60 steps pen up // Tán cây set pen size to 0 set pen color to dark green go to x: (x position) y: (y position + 60) repeat 3 move 80 steps turn cw 120 degrees end
end
  1. Vẽ mặt trời:
go to x: 150 y: 150
set pen size to 2
set pen color to yellow
pen down
repeat 360 move 0.5 steps turn cw 1 degrees
end
pen up

Khi chạy chương trình, bạn sẽ thấy một bức tranh cánh đồng đơn giản nhưng đầy màu sắc, minh hoạ cách kết hợp các hình cơ bản để tạo nên một cảnh quan hoàn chỉnh.

11. Mẹo Và Thủ Thuật Khi Vẽ Trong Scratch

  1. Sử Dụng Clone Để Tối Ưu: Thay vì lặp lại cùng một hình nhiều lần, tạo một sprite “pen” và dùng create clone of myself để vẽ đồng thời nhiều hình mà không làm chậm chương trình.
  2. Giảm Số Bước Di Chuyển: Khi vẽ vòng tròn, thay vì 360 bước, bạn có thể dùng 180 bước với góc quay 2 độ mỗi lần, giảm tải tính toán.
  3. Sử Dụng Broadcast: Khi cần vẽ các phần riêng biệt (bầu trời, mặt đất, cây), dùng broadcast draw sky v để tách script, giúp dự án gọn gàng hơn.
  4. Lưu Trữ Giá Trị: Dùng biến để lưu trữ vị trí hiện tại (x position, y position) khi vẽ các phần liên quan, tránh tính toán lại.
  5. Thay Đổi Độ Dày Bút Động: Khi vẽ các đường viền và nền, thay đổi pen size để tạo cảm giác sâu và chiều sâu.
  6. Thử Nghiệm Với “Stamp”: Đối với các họa tiết lặp lại (như đám mây), dùng stamp để nhanh chóng sao chép hình ảnh mà không cần vẽ lại.
  7. Kết Hợp Âm Thanh: Thêm khối play sound khi hoàn thành mỗi hình để tạo trải nghiệm tương tác.

12. Tổng Kết

Việc vẽ hình trong Scratch không chỉ là một hoạt động nghệ thuật mà còn là cơ hội để học lập trình một cách trực quan. Bằng cách nắm vững các khối lệnh Pen, hiểu cách sử dụng biến, vòng lặp và các kỹ thuật tối ưu, bạn có thể tạo ra mọi loại hình ảnh từ những đường thẳng đơn giản tới các họa tiết phức tạp và động. Hãy thực hành thường xuyên, thử nghiệm với màu sắc, kích thước và tốc độ vẽ để phát triển phong cách riêng của mình.

Bước tiếp theo: Tạo một dự án cá nhân, áp dụng những kiến thức đã học để vẽ một bức tranh tự do, hoặc thiết kế một trò chơi có yếu tố vẽ (ví dụ: người chơi phải vẽ đường đi để tránh chướng ngại vật). Khi bạn đã thành thạo, hãy chia sẻ dự án trên cộng đồng Scratch để nhận phản hồi và tiếp tục cải thiện kỹ năng.

Chúc bạn thành công và luôn sáng tạo trong hành trình lập trình với Scratch!

Rate this post
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *