Bài tập vẽ hình trong python

Bài tập 1:

Hãy vẽ hình con rùa như hình dưới đây, trong đó hình ngũ giác lớn có kích thước cạnh là 50, hình ngũ giác nhỏ có kích thước cạnh là 25.

Bài tập 2:

Hãy vẽ hình hoa văn như hình dưới đây, cạnh có độ dài 50:

Bài tập vẽ hình trong python

Bài tập 7:

Bài tập vẽ hình trong python

Bài tập 8:

Bài tập vẽ hình trong python

Bài tập 9:

Vẽ các ngôi sao lồng nhau như hình sau:

Bài tập 10 (của bạn Bảo Anh):

Bài tập 11 (của bạn Bảo Anh):

Bài tập 12 (của bạn Bảo Anh):

Bài tập 13 (của bạn Bảo Anh):

Bài tập 14 (của bạn Bảo Anh):

Bài tập 15 (của bạn Bảo Anh):

===> Tạo ảo giác (hình chữ nhật mà không phải chữ nhật):

Bài tập 16:

Bài tập vẽ hình trong python

Bài tập vẽ 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:

  • Vẽ lá cờ Việt Nam – Pascal
  • Vẽ lá cờ Việt Nam – C++
  • Ủng hộ cho mình 1 like nhé

  • Hãy để lại ý kiến của mình nào
  • [kkstarratings]

[Python] Vẽ hình trăng tròn đan lưới

Bài tập vẽ hình trong python

Cầm bút để vẽ cho đẹp trên giấy thực sự khó. Cho nên bạn có thể chuyển sang sống ảo, điều khiển máy tính vẽ giùm.

Đây là ví dụ mẫu, cũng là ví dụ mở đầu cho các bài tập mang tính giải trí vẽ các hình cơ bản bằng Python. Nó truly easy hơn vẽ bằng bút rất nhiều.

Để vẽ hình trong Python, ta sử dụng module turtle, có sẵn khi cài đặt Python.

Lúc chạy chương trình, một cửa sổ sẽ hiện ra như bức tranh ảo, bút vẽ sẽ di chuyển (theo code) trong bức tranh để tạo hình. Bút vẽ này gọi là turtle (chính là tên của module).

Đầu tiên, khai báo thư viện.

Khởi tạo màn hình vẽ.

Khởi tạo bút vẽ.

Dùng vòng lặp vẽ 50 hình tròn có bán kính 200, trong đó mỗi hình lệch nhau về bên phải 50 độ.

for _ in range(50):
    t.circle(200)
    t.right(50)

Như vậy là xong. Tuy nhiên, ta có thể thiết lập thêm các thông số khác. Chẳng hạn, thay đổi độ dày của nét vẽ.

Tốc độ vẽ có giá trị từ 0 (chậm) đến 10 (nhanh). Nếu tham số lớn hơn 10 hoặc nhỏ hơn 0.5 thì tốc độ sẽ được đặt thành 0. Thật ra 0 là nhanh nhất.

Chọn màu cho nét vẽ.

Dừng cửa sổ lại để xem hình.

Nếu không có lệnh này, cửa sổ sẽ đóng ngay khi vẽ xong. Dùng hàm mainloop() là do turtle được phát triển dựa trên tkinter.

Bài tập vẽ hình trong python

Link Github github.com/vtchitruong/Turtle/tree/main/Overlapping_circles

Post navigation

Dưới đây là code ví dụ vẽ doraemon trong python một cách đơn giản. Để các bạn bắt đầu với các thư viện đồ họa trong Python . Vẽ Pikachu trong python

Bài tập vẽ hình trong python
vẽ hình trong python

from turtle import *
import turtle
wn = turtle.Screen()
wn.setup(width=1000, height=800)

def my_goto(x, y):
    penup()
    goto(x, y)
    pendown()


def eyes():
    fillcolor("#ffffff")
    begin_fill()

    tracer(False)
    a = 2.5
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a -= 0.05
            lt(3)
            fd(a)
        else:
            a += 0.05
            lt(3)
            fd(a)
    tracer(True)
    end_fill()



def beard():
    my_goto(-32, 135)
    seth(165)
    fd(60)

    my_goto(-32, 125)
    seth(180)
    fd(60)

    my_goto(-32, 115)
    seth(193)
    fd(60)

    my_goto(37, 135)
    seth(15)
    fd(60)

    my_goto(37, 125)
    seth(0)
    fd(60)

    my_goto(37, 115)
    seth(-13)
    fd(60)


def mouth():
    my_goto(5, 148)
    seth(270)
    fd(100)
    seth(0)
    circle(120, 50)
    seth(230)
    circle(-120, 100)


def scarf():
    fillcolor('#e70010')
    begin_fill()
    seth(0)
    fd(200)
    circle(-5, 90)
    fd(10)
    circle(-5, 90)
    fd(207)
    circle(-5, 90)
    fd(10)
    circle(-5, 90)
    end_fill()


def nose():
    my_goto(-10, 158)
    seth(315)
    fillcolor('#e70010')
    begin_fill()
    circle(20)
    end_fill()


def black_eyes():
    seth(0)
    my_goto(-20, 195)
    fillcolor('#000000')
    begin_fill()
    circle(13)
    end_fill()

    pensize(6)
    my_goto(20, 205)
    seth(75)
    circle(-10, 150)
    pensize(3)

    my_goto(-17, 200)
    seth(0)
    fillcolor('#ffffff')
    begin_fill()
    circle(5)
    end_fill()
    my_goto(0, 0)




def face():

    fd(183)
    lt(45)
    fillcolor('#ffffff')
    begin_fill()
    circle(120, 100)
    seth(180)
    # print(pos())
    fd(121)
    pendown()
    seth(215)
    circle(120, 100)
    end_fill()
    my_goto(63.56,218.24)
    seth(90)
    eyes()
    seth(180)
    penup()
    fd(60)
    pendown()
    seth(90)
    eyes()
    penup()
    seth(180)
    fd(64)


def head():
    penup()
    circle(150, 40)
    pendown()
    fillcolor('#00a0de')
    begin_fill()
    circle(150, 280)
    end_fill()


def Doraemon():
    head()
    scarf()
    face()
    black_eyes()
    nose()
    mouth()
    beard()
    my_goto(0, 0)
    seth(0)
    penup()
    circle(150, 50)
    pendown()
    seth(30)
    fd(40)
    seth(70)
    circle(-30, 270)


    fillcolor('#00a0de')
    begin_fill()

    seth(230)
    fd(80)
    seth(90)
    circle(1000, 1)
    seth(-89)
    circle(-1000, 10)

    # print(pos())

    seth(180)
    fd(70)
    seth(90)
    circle(30, 180)
    seth(180)
    fd(70)

    # print(pos())
    seth(100)
    circle(-1000, 9)

    seth(-86)
    circle(1000, 2)
    seth(230)
    fd(40)

    # print(pos())


    circle(-30, 230)
    seth(45)
    fd(81)
    seth(0)
    fd(203)
    circle(5, 90)
    fd(10)
    circle(5, 90)
    fd(7)
    seth(40)
    circle(150, 10)
    seth(30)
    fd(40)
    end_fill()

    seth(70)
    fillcolor('#ffffff')
    begin_fill()
    circle(-30)
    end_fill()

    my_goto(103.74, -182.59)
    seth(0)
    fillcolor('#ffffff')
    begin_fill()
    fd(15)
    circle(-15, 180)
    fd(90)
    circle(-15, 180)
    fd(10)
    end_fill()

    my_goto(-96.26, -182.59)
    seth(180)
    fillcolor('#ffffff')
    begin_fill()
    fd(15)
    circle(15, 180)
    fd(90)
    circle(15, 180)
    fd(10)
    end_fill()

    my_goto(-133.97, -91.81)
    seth(50)
    fillcolor('#ffffff')
    begin_fill()
    circle(30)
    end_fill()

    my_goto(-103.42, 15.09)
    seth(0)
    fd(38)
    seth(230)
    begin_fill()
    circle(90, 260)
    end_fill()

    my_goto(5, -40)
    seth(0)
    fd(70)
    seth(-90)
    circle(-70, 180)
    seth(0)
    fd(70)

    my_goto(-103.42, 15.09)
    fd(90)
    seth(70)
    fillcolor('#ffd200')
    # print(pos())
    begin_fill()
    circle(-20)
    end_fill()
    seth(170)
    fillcolor('#ffd200')
    begin_fill()
    circle(-2, 180)
    seth(10)
    circle(-100, 22)
    circle(-2, 180)
    seth(180-10)
    circle(100, 22)
    end_fill()
    goto(-13.42, 15.09)
    seth(250)
    circle(20, 110)
    seth(90)
    fd(15)
    dot(10)
    my_goto(0, -150)



if __name__ == '__main__':
    pensize(3)
    speed(9)
    Doraemon()
    my_goto(100, -300)
    write('@python.for.fun', font=("Bradley Hand ITC", 30, "bold"))
    mainloop()

Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!