πŸ”§ Как Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию: пошаговоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию? Для рисования Π»ΠΈΠ½ΠΈΠΈ Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ turtle. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

import turtle

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ экран для рисования
screen = turtle.Screen()

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Ρƒ
t = turtle.Turtle()

# РисуСм линию Π΄Π»ΠΈΠ½ΠΎΠΉ 100 пиксСлСй
t.forward(100)

# Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ экран послС рисования
turtle.done()
Π’ этом ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ turtle, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для рисования Π½Π° экранС. ΠœΡ‹ создаСм экран ΠΈ Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ forward для рисования Π»ΠΈΠ½ΠΈΠΈ Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π° 100 пиксСлСй. ПослС рисования ΠΌΡ‹ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ экран с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ turtle.done(). Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ t.color("red") ΠΈΠ»ΠΈ t.width(5). НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию Π² Python!

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

Как Π² Python Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию

ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Ρ‚Π΅Π±Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π² Python Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнтов. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Ρ‹ смоТСшь ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрСсныС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

1. ИспользованиС Matplotlib

Один ΠΈΠ· самых популярных инструмСнтов для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Python - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Matplotlib. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ‹ моТСшь ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΠΈΠ½ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСт ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ линию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Matplotlib:


import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [1, 3, 2, 4, 5]

plt.plot(x, y)
plt.show()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pyplot ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Matplotlib. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° списка, x ΠΈ y, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ линия. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ plot() для построСния Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ show() для отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

Π’Ρ‹ моТСшь ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ со значСниями Π² списках x ΠΈ y, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ располоТСниС Π»ΠΈΠ½ΠΈΠΈ.

2. ИспользованиС Turtle

Если Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΡˆΡŒ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСского интСрфСйса, Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Turtle ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ. Она прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ графичСскиС прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ изучСния простых ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСт линию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Turtle:


import turtle

turtle.forward(100)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ turtle. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ forward() для рисования Π»ΠΈΠ½ΠΈΠΈ Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ расстояниС (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС 100 пиксСлСй). Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ базовая ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈ Ρ‚Ρ‹ моТСшь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹.

3. ИспользованиС OpenCV

Если Ρ‚Π΅Π±Π΅ интСрСсно рисованиС Π½Π° изобраТСниях ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenCV ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ. Она прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ рисования ΠΈ аннотирования.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСт линию Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenCV:


import cv2
import numpy as np

image = np.zeros((512, 512, 3), np.uint8)
image = cv2.line(image, (0, 0), (511, 511), (255, 0, 0), 5)
cv2.imshow("Image", image)
cv2.waitKey(0)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Ρ‡Π΅Ρ€Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 512x512 пиксСлСй с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ zeros(). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ line() для рисования Π»ΠΈΠ½ΠΈΠΈ ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ (0, 0) Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ (511, 511) с Ρ†Π²Π΅Ρ‚ΠΎΠΌ (255, 0, 0) ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½ΠΎΠΉ 5 пиксСлСй. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ imshow() ΠΈ ΠΆΠ΄Π΅ΠΌ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π½Π°ΠΆΠΌΠ΅Ρ‚ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ.

Π’Ρ‹ моТСшь ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Ρ†Π²Π΅Ρ‚ ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я рассказал Ρ‚Π΅Π±Π΅ ΠΎ Ρ‚Ρ€Π΅Ρ… способах рисования Π»ΠΈΠ½ΠΈΠΉ Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнтов: Matplotlib, Turtle ΠΈ OpenCV. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ нСдостатки, ΠΈ Ρ‚Ρ‹ моТСшь Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий для своих потрСбностСй.

НС Π·Π°Π±ΡƒΠ΄ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ красивыС Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ!

Π£Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Python ΠΈ Π² создании своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²!

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,

Π’Π²ΠΎΠΉ ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ

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

Π£Ρ€ΠΎΠΊΠΈ Python / ΠœΠΎΠ΄ΡƒΠ»ΡŒ tkinter (рисованиС Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²)

Π£Ρ€ΠΎΠΊΠΈ Python / РисуСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠΈ / ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ модуля turtle

15. РисуСм простыС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΠΈ (Turtle). ΠžΡΠ½ΠΎΠ²Ρ‹ Python

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строка Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Как ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Python Π² PATH Windows 10

Как ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pandas Π² python - простоС руководство с использованиСм эмодзи

πŸ”§ Как Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ линию: пошаговоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

🎨 Как Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½Π° ΠΊΠ°Ρ€Π°Π½Π΄Π°ΡˆΠΎΠΌ поэтапно 🐍

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Python Π½Π° Андроид: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Как Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ…ΠΎΡ‚Ρƒ ΡƒΠ΄Π°Π²ΠΎΠ² ΠΈ ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠ²: совСты ΠΎΡ‚ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ профСссионала