Viết thủ tục vẽ đa giác đều biết tâm và bán kính đường tròn ngoại tiếp bằng scratch

Like và share giúp mình phát triển website nhé.
  •  
  •  

Có bạn nào thắc mắc tại sao lại phải viết thủ tục vẽ đa giác đều biết tâm và bán kính đường tròn ngoại tiếp đa giác đó bằng scratch trong khi bài viết trước đã có bài giới thiệu về cách vẽ đa giác đều đơn giản nhất rồi không? Đơn giản là ví với cách vẽ trước ta chưa kiểm soát được tâm và bán kính đường tròn ngoại tiếp đa giác đó, tất nhiên là vẫn có thể tính được nhưng sẽ phải thêm nhiều lệnh tính toán phức tạp.

Việc kiểm soát được tâm và bán kính sẽ giúp ta phát triển dễ dàng những bài toán liên quan chẳng hạn như:

  • Vẽ và tô màu đa giác đều
  • Vẽ ngôi sao vàng 5 cánh
  • Vẽ lá cờ đỏ sao vàng

Ý tưởng viết thủ tục vẽ đa giác đều biết tâm và bán kính đường tròn ngoại tiếp

Thực ra thì mình nghĩ ra thủ tục vẽ đa giác đều này khi viết chương trình vẽ ngôi sao 5 cánh dựa trên cách vẽ ngũ giác, mình sẽ xác định tọa độ các đỉnh của đa giác sau đó dùng thủ tục vẽ đoạn thẳng đi qua 2 điểm để nối các đỉnh lại với nhau.

Các bước xây dựng thủ tục vẽ đa giác đều biết tâm và bán kính

Bước 1: Xóa nhân vật chú mèo, thêm nhân vật cây bút, đặt tâm bút về đầu chì của bút

Bước 2: Lập chương trình con vẽ đoạn thẳng đi qua 2 điểm

Bước 3: Xây dựng thủ tục vẽ đa giác đều với các tham số như sau:

Thủ tục vẽ đa giác đều biết tâm và bán kính

Trong đó (x, y) là tọa độ tâm

Bước 4: Viết đoạn chương trình xác định tọa độ các đỉnh của đa giác đều và lưu vào hai biến X, Y

Bước 5: Xây dựng đoạn mã vẽ các đoạn thẳng nối các đỉnh lại với nhau:

Bây giờ bạn hãy gắn ba khối lệnh 1, 2, 3 trong 3 bước 3,4,5 lại với nhau ta được thủ tục vẽ đa giác đều biết tâm và bán kính đường tròn ngoại tiếp rồi đó.

Chạy thử và kiểm tra kết quả

Bây giờ các bạn hãy thêm một đoạn mã sau để chạy thử nhé:

Lệnh trên có nghĩa là: Vẽ đa giác đều có tâm ở vị trí (0, 0) bán kính 50 và độ dài cạnh là 6.

Bạn hãy nhắp nhanh 2 lần vào lệnh trên để xem kết quả nhé.

Đừng quên đón đọc những bài viết tiếp theo và đừng tiếc một comment nếu thấy hay bạn nhé.

Trả lời

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 *