π₯ ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² 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!