Cách tạo hình trong Python
Vẽ hình như trên: import turtle p=turtle.Turtle() p.getscreen().bgcolor('red') p.color('yellow') p.penup() p.goto(-100,100) p.pendown() p.begin_fill() for i in range(5): p.forward(200) p.left(216) p.end_fill() p.penup() p.goto(-200,200) p.pendown() p.forward(400) p.right(90) p.forward(250) p.right(90) p.forward(400) p.right(90) p.forward(250) turtle.done() Các bài viết liên quan: Turtle Graphics là một chương trình con có sẵn trong Python khi bạn đã cài (install) Python lên máy bạn. Turtle (con rùa) đây chỉ là hình ảnh tưởng tượng, nó cầm cây bút để vẽ, di chuyển đến đâu là nó vẽ đường thẳng đến đó. Nó vẽ bằng những cái chấm (dots-pixels) trên màn hình. Bây giờ bạn click IDLE để gõ chương trình sau đây, gõ y chang như vậy, kẻo bị syntax error (sai văn phạm của Python) rồi chúng ta sẽ tìm hiểu từng dòng một. # SquareSpiral1.py - để vẽ một hình vuông xoắn ốc (square spiral) import turtle Xong bạn cho save nó lên máy bạn (trong một ngăn hồ sơ folder nào đó trên diã) với tên XoanocVuong.py rồi cho Run thử (Save và Run bạn đã biết làm ở chương I rồi) , bạn sẽ thấy “con ruà” của bạn (chỉ là một mũi tên) nó vẽ một hình vuông xoắn ốc như sau: GIẢI THÍCH TỪNG DÒNG MỘT CỦA CHƯƠNG TRÌNH
KHẢO SÁT XEM MÁY THI HÀNH CHƯƠNG TRÌNH NÀY THẾ NÀO? Không cần khảo sát các dòng 1, 2, 3 vì dễ hiểu rối . Chỉ cần khảo sát vòng lặp ở dòng 4: for x in range(100) và những lệnh nằm bên trong vòng lặp ấy. Những lệnh này cần gõ thụt vào bên trong phiá dưới và qua phải của lệnh for x in range(100). Đầu tiên là lệnh t.forward(x). Lệnh này khiến cái bút của con ruà (cái mũi tên) nhích tới x dots. Với x=0 (lần đầu tiên) thì cây bút của con ruà chẳng nhúc nhích chi cả. Lệnh kế tiếp t.left(90) bắt “con ruà” quẹo trái 1 góc 90 độ. Thế là xong 1 vòng. Vòng lặp lại với x=1, rồi 2, 3, …đến 99 (tức là đủ 100 vòng) thì bạn sẽ có hình như 2-1. CHO “CON RÙA” CUỐN (ROLL) Bây giờ bạn thử đổi chương trình XoanocVuong nói trên một chút như sau: # SquareSpiral2.py - để vẽ một hình xoắn ốc cuốn import turtle Dòng comment không quan trọng. Bạn muốn chú thích thế nào tuỳ ý. Bạn chỉ đổi t.left(90) thành t.left(91) tức là mỗi khi con ruà tiến tới vẽ được x dots xong nó sẽ quẹo trái 91 độ. Vòng lặp cũng lặp đi lặp lại 100 lần với x đi từ 0 đến 99 bạn sẽ có một hình vẽ như sau: CHO “CON RÙA” XOẮN TRÒN Thay vì dùng lệnh t.forward(x) để vẽ đường thẳng ta sửa chương trình trên để vẽ vòng tròn bằng lệnh t.circle(x) trong đó biến số x là bán kính của vòng tròn. # CircleSpiral1.py - để vẽ một hình xoắn ốc cuốn tròn import turtle Bài tập: Bạn thử đổi chương trình: thay lệnh t.left(91) bằng lệnh t.right(91) sẽ thấy con ruà quay qua phải mỗi khi vẽ xong một vòng tròn. right() cũng là một lệnh viết sẵn nằm trong thư viện của Python. Hoặc bạn cho trẻ thử thay range(100) thành range(200) xem sao. CHO MỘT ÍT MÀU MÈ (COLOR) Bây giờ bạn lấy lại chương trình XoanocVuong,py , sửa đổi lại như sau: # SquareSpiral3.py - để vẽ một hình vuông xoắn ốc (square spiral) tô màu import turtle t = turtle.Pen() t.pencolor("red") for x in range(100): t.forward(x) t.left(91) pencolor (“ “) là lệnh của Python để con ruà vẽ màu. Màu gì sẽ để trong ngoặc đôi. Khi cho Run Module bạn sẽ có hình xoắn ốc vuông màu đỏ. Bài tập: Bạn cho trẻ đổi color thành blue, hay yellow, hay brown xem sao. HÌNH XOẮN ỐC 4 MÀU Muốn vậy ta sẽ sửa chương trình trên lại như sau rồi lưu nó lên diã với tên XoanocVuongBonMauLthực ra bạn muốn đặt tên gì tuỳ thích) # ColorSquareSpiral - Để vẽ hình xoắn ốc vuông có 4 màu import turtle t = turtle.Pen() colors = ["red", "yellow", "blue", "green"] for x in range(100): t.pencolor(colors[x%4]) t.forward(x) t.left(91)
Sau khi Save và Run Module chương trình này bạn sẽ có một hình xoắn ốc vuông với 4 màu red, yellow, blue, green như sau: THAY ĐỔI MÀU NỀN (BACKGROUND COLOR) Thí dụ 1– Giả sử bạn muốn có xoắn ốc vòng tròn có 4 màu đỏ, vàng, xanh dương, xanh lá cây. Bạn viết lại chương trình như sau; |