πŸŽ₯ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² Python: простой ΠΈ понятный Π³Π°ΠΉΠ΄ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ matplotlib. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


import matplotlib.pyplot as plt
import numpy as np

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
fig, ax = plt.subplots()
line, = ax.plot(x, y)

# Ѐункция для обновлСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
def update(i):
    line.set_ydata(np.sin(x + i/10))
    return line,

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ запуск Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
ani = matplotlib.animation.FuncAnimation(fig, update, frames=range(100), interval=50)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
plt.show()
 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ matplotlib для создания Π³Ρ€Π°Ρ„ΠΈΠΊΠ° синусоиды. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ update, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. НаконСц, ΠΌΡ‹ создаСм ΠΈ запускаСм Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FuncAnimation ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib.animation.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° matplotlib, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот ΠΊΠΎΠ΄.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² Python

Python - ΠΎΡ‡Π΅Π½ΡŒ популярный язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт мноТСство инструмСнтов для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² - это анимация. Анимация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для создания ΠΈΠ³Ρ€, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ просто для вСсСлого ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° matplotlib

ЭффСктная ΠΈ популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ - это Matplotlib. Она позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Matplotlib:


import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊ
fig, ax = plt.subplots()
line, = ax.plot(x, y)

# Ѐункция для обновлСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
def update(frame):
    line.set_ydata(np.sin(x + frame / 10))
    return line,

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ
ani = FuncAnimation(fig, update, frames=100, interval=50)

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ
plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ FuncAnimation ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ matplotlib.animation, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pygame

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ популярный способ создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Python - использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pygame. Pygame прСдоставляСт мноТСство инструмСнтов для создания ΠΈΠ³Ρ€ ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, созданной с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Pygame:


import pygame

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Pygame
pygame.init()

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((800, 600))

# Основной Ρ†ΠΈΠΊΠ» Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ
running = True
while running:
    # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
    screen.fill((0, 0, 0))
    pygame.draw.circle(screen, (255, 255, 255), (400, 300), 50)
    
    # ОбновлСниС экрана
    pygame.display.flip()

# Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Pygame
pygame.quit()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ основной Ρ†ΠΈΠΊΠ» Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Pygame для отобраТСния простой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ - двиТСния ΠΊΡ€ΡƒΠ³Π° ΠΏΠΎ экрану. ΠœΡ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ события с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ pygame.event.get() ΠΈ отрисовываСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ pygame.draw.circle().

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° manim

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΈ качСствСнныС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Manim. Manim позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ матСматичСскиС ΠΈ физичСскиС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° Python.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Manim:


from manim import *

class SquareToCircle(Scene):
    def construct(self):
        square = Square()
        circle = Circle()
        
        self.play(Transform(square, circle))
        self.wait(1)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π² ΠΊΡ€ΡƒΠ³. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ класс Scene ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Transform() для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Python прСдоставляСт мноТСство инструмСнтов для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ‚Ρ€ΠΈ популярныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Python: Matplotlib, Pygame ΠΈ Manim. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, исходя ΠΈΠ· Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ уровня слоТности Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python #10 Анимация

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ GIF Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½Π° python | Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² manim

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ N0 Π² Python?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Python ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½? 🐍✨

Как ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Python: пошаговоС руководство ΠΈ инструкция

πŸŽ₯ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² Python: простой ΠΈ понятный Π³Π°ΠΉΠ΄ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ„Π° Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Python Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹ΠΌΠΈ числами

Как синтаксичСски Π² Python Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСствСнноС наслСдованиС