Python được sử dụng trong đồ họa thông qua các gói như Tkinter, Canvas. Và trong bài viết này mình sẽ hướng dẫn các bạn sử dụng thư viện Turtle trên Python. Show Turtle Graphics là một chương trình con có sẵn trong Python khi bạn đã cài 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. Muốn sử dụng chương trình nhỏ turtle graphics của Python thì phải import nó vào từ “thư viện” của Python trong đó còn rất nhiều những chương trình nhỏ do Python soạn sẵn. Cần cái nào là phải nhập (gọi, call) chúng vào chương trình của mình bằng lệnh import. Ở đây ta cần gọi chương trình nhỏ turtle để vẽ nên ta dùng lệnh import turtle.
Có bốn hướng có thể di chuyển vào:
Con trỏ di chuyển
3. Thiết lập con trỏ vẽ
4. Code vẽ từng bộ phận
Code đầy đủ:
Thành quả:
Your kids can do this with Python!Điều kiện học:
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. The turtle (“con rùa”) tưởng tượng, chỉ là hình một mũi tên (arrow mà thôi)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: Hình 2-1GIẢ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: Hình 2-2CHO “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 turtleHình 2-3 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 đỏ. Hình 2-4Bà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: Hình 2-5THAY ĐỔ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; # ColorCircleSpiral - vẽ xoắn ốc tròn 4 màu nền đen import turtle t = turtle.Pen() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green"] for x in range(100): t.pencolor(colors[x%4]) t.circle(x) t.left(91)Hình 2-6 Lệnh turtle.bgcolor(“black”) cho ta màu nền đen. Sở dĩ đôi khi ta cần đổi màu đen ở đây là để cho hình vẽ nổi bật không tiệp màu với màu nền. Thí dụ 2: Giả sử bạn muốn có hình xoắn ốc vuông, có 4 màu và nền đen với range(200): # ColorSquareSpiral - Để vẽ hình xoắn ốc vuông có 4 màu, nền đen import turtle t = turtle.Pen() turtle.bgcolor("black") colors = ["red", "yellow", "blue", "green"] for x in range(200): t.pencolor(colors[x%4]) t.forward(x) t.left(91) Kết quả sau khi Run->Run Module Hình 2-7HẾT CHƯƠNG IICHÚC CÁC BẠN TRẺ THÀNH CÔNG |