Cách vẽ hình bằng Python

Lưu ý rằng vì chúng tôi đang hiển thị API Web Canvas, bạn có thể tìm thêm hướng dẫn và tài liệu theo liên kết này. https. // nhà phát triển. mozilla. org/en-US/docs/Web/API/Canvas_API

Có một số khác biệt về API mặc dù

  • Tiện ích Canvas đang hiển thị trực tiếp API CanvasRenderingContext2D

  • Tất cả API được viết bằng Snake_case thay vì camelCase, vì vậy, ví dụ:

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    6 trong JavaScript trở thành
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    7 trong Python

Trước khi bắt đầu vẽ, chúng ta cần nói về canvas grid. Gốc của lưới này được định vị ở góc trên cùng bên trái tại tọa độ [0,0]. Tất cả các yếu tố được đặt liên quan đến nguồn gốc này. Vì vậy, vị trí của góc trên cùng bên trái của hình vuông màu xanh trở thành x pixel từ bên trái và y pixel từ trên cùng, tại tọa độ [x, y]

Vẽ hình chữ nhật

Có sáu phương pháp vẽ hình chữ nhật trên canvas

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    8

    Vẽ một hình chữ nhật đầy. Nếu

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là Không, nó được đặt thành cùng giá trị với
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    1

    Vẽ đường viền hình chữ nhật. Nếu

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là Không, nó được đặt thành cùng giá trị với
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    4

    Vẽ hình chữ nhật đầy. Trong đó

    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0 và
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là số nguyên, danh sách số nguyên hoặc mảng NumPy. Nếu
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là Không, nó được đặt thành cùng giá trị với
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0

  • from math import pi
    import numpy as np
    from ipycanvas import Canvas
    
    
    def polygon[canvas, x, y, radius, n_points]:
        angles = [2 * pi / n_points] * np.arange[n_points]
    
        v_x = x + np.cos[angles] * radius
        v_y = y + np.sin[angles] * radius
    
        points = np.stack[[v_x, v_y], axis=1]
    
        canvas.fill_polygon[points]
    
    
    background_color = "#89c64f"
    polygon_color = "#c6574f"
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = background_color
    canvas.fill_rect[0, 0, canvas.width, canvas.height]
    
    canvas.fill_style = polygon_color
    polygon[canvas, 100, 100, 70, 6]
    
    canvas
    
    1

    Vẽ các đường viền hình chữ nhật. Trong đó

    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0 và
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là số nguyên, danh sách số nguyên hoặc mảng NumPy. Nếu
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là Không, nó được đặt thành cùng giá trị với
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0

  • from math import pi
    import numpy as np
    from ipycanvas import Canvas
    
    
    def polygon[canvas, x, y, radius, n_points]:
        angles = [2 * pi / n_points] * np.arange[n_points]
    
        v_x = x + np.cos[angles] * radius
        v_y = y + np.sin[angles] * radius
    
        points = np.stack[[v_x, v_y], axis=1]
    
        canvas.fill_polygon[points]
    
    
    background_color = "#89c64f"
    polygon_color = "#c6574f"
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = background_color
    canvas.fill_rect[0, 0, canvas.width, canvas.height]
    
    canvas.fill_style = polygon_color
    polygon[canvas, 100, 100, 70, 6]
    
    canvas
    
    8

    Tương tự như

    from math import pi
    import numpy as np
    from ipycanvas import Canvas
    
    
    def polygon[canvas, x, y, radius, n_points]:
        angles = [2 * pi / n_points] * np.arange[n_points]
    
        v_x = x + np.cos[angles] * radius
        v_y = y + np.sin[angles] * radius
    
        points = np.stack[[v_x, v_y], axis=1]
    
        canvas.fill_polygon[points]
    
    
    background_color = "#89c64f"
    polygon_color = "#c6574f"
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = background_color
    canvas.fill_rect[0, 0, canvas.width, canvas.height]
    
    canvas.fill_style = polygon_color
    polygon[canvas, 100, 100, 70, 6]
    
    canvas
    
    9 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

  • from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    4

    Tương tự như

    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    5 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

Bạn cũng có thể xóa một khu vực hình chữ nhật canvas nhất định

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    0

    Xóa vùng hình chữ nhật được chỉ định, làm cho nó hoàn toàn trong suốt. Nếu

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    9 là Không, nó được đặt thành cùng giá trị với
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    0

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.fill_rect[25, 25, 100, 100]
canvas.clear_rect[45, 45, 60, 60]
canvas.stroke_rect[50, 50, 50, 50]

canvas

from math import pi
import numpy as np
from ipycanvas import Canvas


def polygon[canvas, x, y, radius, n_points]:
    angles = [2 * pi / n_points] * np.arange[n_points]

    v_x = x + np.cos[angles] * radius
    v_y = y + np.sin[angles] * radius

    points = np.stack[[v_x, v_y], axis=1]

    canvas.fill_polygon[points]


background_color = "#89c64f"
polygon_color = "#c6574f"

canvas = Canvas[width=200, height=200]

canvas.fill_style = background_color
canvas.fill_rect[0, 0, canvas.width, canvas.height]

canvas.fill_style = polygon_color
polygon[canvas, 100, 100, 70, 6]

canvas
9 và
from math import pi

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.fill_style = "red"
canvas.stroke_style = "blue"

canvas.fill_arc[60, 60, 50, 0, pi]
canvas.stroke_circle[60, 60, 40]

canvas
5 là những cách cực nhanh để vẽ tới một triệu hình chữ nhật cùng một lúc

import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas

Vẽ đa giác

Bạn có thể vẽ đa giác bằng cách cung cấp danh sách các điểm, danh sách Python hoặc mảng NumPy. Đó là cách nhanh nhất để vẽ đa giác bằng ipycanvas

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    5

    Điền vào một đa giác từ danh sách các điểm

    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    6

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    7. Vẽ đường viền đa giác từ danh sách các điểm
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    6

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    9

    Điền vào nhiều đa giác cùng một lúc

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    0

    Nét nhiều đa giác cùng một lúc. Xem để biết chi tiết

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    1

    Tô nhiều đa giác cùng một lúc trong đó mỗi đa giác có thể có màu riêng. Xem để biết chi tiết

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    2

    Nét vẽ nhiều đa giác cùng một lúc trong đó mỗi đa giác có thể có màu riêng. Xem để biết chi tiết

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.fill_style = "#63934e"
canvas.stroke_style = "#4e6393"
canvas.line_width = 5
canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]

canvas

from math import pi
import numpy as np
from ipycanvas import Canvas


def polygon[canvas, x, y, radius, n_points]:
    angles = [2 * pi / n_points] * np.arange[n_points]

    v_x = x + np.cos[angles] * radius
    v_y = y + np.sin[angles] * radius

    points = np.stack[[v_x, v_y], axis=1]

    canvas.fill_polygon[points]


background_color = "#89c64f"
polygon_color = "#c6574f"

canvas = Canvas[width=200, height=200]

canvas.fill_style = background_color
canvas.fill_rect[0, 0, canvas.width, canvas.height]

canvas.fill_style = polygon_color
polygon[canvas, 100, 100, 70, 6]

canvas

Vẽ cung tròn và đường tròn

Có các phương pháp vẽ cung/vòng tròn trên khung vẽ

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    3

    Vẽ một cung tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    6

    Vẽ một đường viền cung có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5

  • import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    9

    Vẽ các cung tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5. Trong đó
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5 và các đối số khác là mảng NumPy, danh sách hoặc giá trị vô hướng

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=300, height=300]
    
    canvas.global_alpha = 0.01
    
    size = [i for i in range[300]]
    position = [300 - i for i in range[300]]
    
    canvas.fill_rects[position, position, size]
    
    canvas
    
    5

    Vẽ một đường viền cung có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5. Trong đó
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5 và các đối số khác là mảng NumPy, danh sách hoặc giá trị vô hướng

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=300, height=300]
    
    canvas.global_alpha = 0.01
    
    for i in range[300]:
        size = i
        position = 300 - i
    
        canvas.fill_rect[position, position, size]
    
    canvas
    
    1

    Tương tự như

    from ipycanvas import Canvas
    
    canvas = Canvas[width=300, height=300]
    
    canvas.global_alpha = 0.01
    
    for i in range[300]:
        size = i
        position = 300 - i
    
        canvas.fill_rect[position, position, size]
    
    canvas
    
    2 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

  • from ipycanvas import Canvas
    
    canvas = Canvas[width=300, height=300]
    
    canvas.global_alpha = 0.01
    
    for i in range[300]:
        size = i
        position = 300 - i
    
        canvas.fill_rect[position, position, size]
    
    canvas
    
    7

    Tương tự như

    from ipycanvas import Canvas
    
    canvas = Canvas[width=300, height=300]
    
    canvas.global_alpha = 0.01
    
    for i in range[300]:
        size = i
        position = 300 - i
    
        canvas.fill_rect[position, position, size]
    
    canvas
    
    8 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

  • import numpy as np
    from ipycanvas import Canvas, hold_canvas
    
    canvas = Canvas[width=400, height=300]
    n_rects = 300
    x = np.random.randint[0, canvas.width, size=[n_rects]]
    y = np.random.randint[0, canvas.width, size=[n_rects]]
    width = np.random.randint[10, 40, size=[n_rects]]
    height = np.random.randint[10, 40, size=[n_rects]]
    colors_fill = np.random.randint[0, 255, size=[n_rects, 3]]
    colors_outline = np.random.randint[0, 255, size=[n_rects, 3]]
    alphas = np.random.random[n_rects]
    with hold_canvas[]:
        canvas.fill_styled_rects[x, y, width, height, color=colors_fill, alpha=alphas]
        canvas.line_width = 2
        canvas.stroke_styled_rects[x, y, width, height, color=colors_outline, alpha=alphas]
    canvas
    
    3

    Vẽ một hình tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5

  • import numpy as np
    from ipycanvas import Canvas, hold_canvas
    
    canvas = Canvas[width=400, height=300]
    n_rects = 300
    x = np.random.randint[0, canvas.width, size=[n_rects]]
    y = np.random.randint[0, canvas.width, size=[n_rects]]
    width = np.random.randint[10, 40, size=[n_rects]]
    height = np.random.randint[10, 40, size=[n_rects]]
    colors_fill = np.random.randint[0, 255, size=[n_rects, 3]]
    colors_outline = np.random.randint[0, 255, size=[n_rects, 3]]
    alphas = np.random.random[n_rects]
    with hold_canvas[]:
        canvas.fill_styled_rects[x, y, width, height, color=colors_fill, alpha=alphas]
        canvas.line_width = 2
        canvas.stroke_styled_rects[x, y, width, height, color=colors_outline, alpha=alphas]
    canvas
    
    6

    Vẽ một đường viền hình tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5

  • import numpy as np
    from ipycanvas import Canvas, hold_canvas
    
    canvas = Canvas[width=400, height=300]
    n_rects = 300
    x = np.random.randint[0, canvas.width, size=[n_rects]]
    y = np.random.randint[0, canvas.width, size=[n_rects]]
    width = np.random.randint[10, 40, size=[n_rects]]
    height = np.random.randint[10, 40, size=[n_rects]]
    colors_fill = np.random.randint[0, 255, size=[n_rects, 3]]
    colors_outline = np.random.randint[0, 255, size=[n_rects, 3]]
    alphas = np.random.random[n_rects]
    with hold_canvas[]:
        canvas.fill_styled_rects[x, y, width, height, color=colors_fill, alpha=alphas]
        canvas.line_width = 2
        canvas.stroke_styled_rects[x, y, width, height, color=colors_outline, alpha=alphas]
    canvas
    
    9

    Vẽ các vòng tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5. Trong đó
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5 là các mảng, danh sách hoặc giá trị vô hướng NumPy

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    05

    Vẽ một đường viền hình tròn có tâm là

    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    4 với bán kính là
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5. Trong đó
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    5,
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "#63934e"
    canvas.stroke_style = "#4e6393"
    canvas.line_width = 5
    canvas.fill_polygon[[[20, 20], [180, 20], [100, 150]]]
    canvas.stroke_polygon[[[20, 20], [180, 20], [100, 150]]]
    
    canvas
    
    6,
    import numpy as np
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    n = 50
    x = np.linspace[0, 200, n]
    y = np.random.randint[200, size=n]
    
    points = np.stack[[x, y], axis=1]
    
    canvas.stroke_lines[points]
    
    canvas
    
    5 là các mảng, danh sách hoặc giá trị vô hướng NumPy

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    11

    Giống như

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    12 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    17

    Tương tự như

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    18 nhưng có thêm
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    0
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    1 ndarray và
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    2
    from math import pi
    
    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.fill_style = "red"
    canvas.stroke_style = "blue"
    
    canvas.fill_arc[60, 60, 50, 0, pi]
    canvas.stroke_circle[60, 60, 40]
    
    canvas
    
    3 ndarray

from math import pi

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.fill_style = "red"
canvas.stroke_style = "blue"

canvas.fill_arc[60, 60, 50, 0, pi]
canvas.stroke_circle[60, 60, 40]

canvas

vẽ đường

Có hai lệnh để vẽ một đường thẳng từ điểm này đến điểm khác

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    23

    Vẽ một đường thẳng từ

    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    24 đến
    import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    25

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    26

    Vẽ một đường gồm các đường liên tiếp từ danh sách các điểm

    from ipycanvas import Canvas
    
    canvas = Canvas[width=200, height=200]
    
    canvas.stroke_style = "blue"
    canvas.stroke_line[0, 0, 150, 150]
    
    canvas.stroke_style = "red"
    canvas.stroke_line[200, 0, 0, 200]
    
    canvas.stroke_style = "green"
    canvas.stroke_line[150, 150, 0, 200]
    
    canvas
    
    6

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    28

    Vẽ nhiều đoạn thẳng bị ngắt kết nối cùng một lúc. Xem để biết chi tiết

  • import numpy as np
    
    from ipycanvas import Canvas
    
    n_particles = 100_000
    
    x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
    size = np.random.randint[1, 3, n_particles]
    
    canvas = Canvas[width=800, height=500]
    
    canvas.fill_style = "green"
    canvas.fill_rects[x, y, size]
    
    canvas
    
    29

    Vẽ nhiều đoạn thẳng bị ngắt kết nối cùng một lúc. Xem để biết chi tiết

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.stroke_style = "blue"
canvas.stroke_line[0, 0, 150, 150]

canvas.stroke_style = "red"
canvas.stroke_line[200, 0, 0, 200]

canvas.stroke_style = "green"
canvas.stroke_line[150, 150, 0, 200]

canvas

import numpy as np

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

n = 50
x = np.linspace[0, 200, n]
y = np.random.randint[200, size=n]

points = np.stack[[x, y], axis=1]

canvas.stroke_lines[points]

canvas

phương pháp véc tơ

Hầu hết các phương pháp như

import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas
30/_______0_______31 và
import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas
32/
import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas
33 đều có các đối tác vector hóa.
from math import pi
import numpy as np
from ipycanvas import Canvas


def polygon[canvas, x, y, radius, n_points]:
    angles = [2 * pi / n_points] * np.arange[n_points]

    v_x = x + np.cos[angles] * radius
    v_y = y + np.sin[angles] * radius

    points = np.stack[[v_x, v_y], axis=1]

    canvas.fill_polygon[points]


background_color = "#89c64f"
polygon_color = "#c6574f"

canvas = Canvas[width=200, height=200]

canvas.fill_style = background_color
canvas.fill_rect[0, 0, canvas.width, canvas.height]

canvas.fill_style = polygon_color
polygon[canvas, 100, 100, 70, 6]

canvas
9/
from math import pi

from ipycanvas import Canvas

canvas = Canvas[width=200, height=200]

canvas.fill_style = "red"
canvas.stroke_style = "blue"

canvas.fill_arc[60, 60, 50, 0, pi]
canvas.stroke_circle[60, 60, 40]

canvas
5 và
import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas
12/
import numpy as np

from ipycanvas import Canvas

n_particles = 100_000

x = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
y = np.array[np.random.rayleigh[250, n_particles], dtype=np.int32]
size = np.random.randint[1, 3, n_particles]

canvas = Canvas[width=800, height=500]

canvas.fill_style = "green"
canvas.fill_rects[x, y, size]

canvas
18. Điều cần thiết là sử dụng các phương pháp đó khi bạn muốn vẽ cùng một hình nhiều lần với cùng một kiểu

Chúng ta có thể vẽ hình bằng Python không?

Rùa là một tính năng của Python giống như một bảng vẽ, cho phép chúng ta ra lệnh cho một con rùa vẽ khắp nơi trên đó. Chúng ta có thể sử dụng nhiều chức năng rùa có thể di chuyển rùa xung quanh

Thư viện Python nào để vẽ hình?

rùa là thư viện Python được cài đặt sẵn cho phép người dùng tạo ảnh và hình dạng bằng cách cung cấp cho họ một khung vẽ ảo. Cây bút trên màn hình mà bạn sử dụng để vẽ được gọi là con rùa và đây là tên gọi của thư viện.

Làm cách nào để vẽ đồ họa bằng Python?

Các bước tạo đồ họa bằng Python. Các tính năng của Cửa sổ đồ họa. Tạo các loại đối tượng Đồ họa khác nhau. .
Nhập tất cả các thư viện từ Lớp đồ họa
Tạo một đối tượng Cửa sổ
Vẽ các đối tượng trong cửa sổ đã tạo
Đóng cửa sổ

Chủ Đề