Найти в Дзене
programmer's notes (python and more)

Программирование на языке python. Библиотека matplotlib. О плоскости в пространстве

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Прежде всего с Новым годом, друзья, и с новым кодом, конечно!

Рисуем на плоскости в пространстве с помощью библиотеки matplotlib

Сегодня я продолжу серию статей о библиотеке matplotlib. Но не много отодвину в сторону на время технологию вокселей, а вернусь к поверхностям. В частности возьмём такую простую поверхность как плоскость, плоскость в пространстве, разумеется.

Построить плоскость просто. Для этого при вычислении z должна быть взята линейная функция относительно аргументов x и y. В общем случае

z = ax + by + c

Ниже программа как раз строит как раз плоскую поверхность в пространстве.

#!/usr/bin/python3
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace (-10, 10, 400)
y = np.linspace (-20, 20, 400)
X, Y = np.meshgrid(x, y)
Z = X +  Y
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(projection='3d')
sur = ax.plot_surface(X, Y, Z, alpha=0.6, color='#0fbb88')
ax.view_init(elev=45, azim=128)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.savefig("my_diag.png")

Результат выполнения программы см. ниже на рисунке 1. Обращаю внимание, что нами взяты вполне конкретные углы, под которыми мы "смотрим" на плоскость (см. метод view_init())

Рисунок 1. Плоская поверхность в пространстве
Рисунок 1. Плоская поверхность в пространстве

Но если мы имеем плоскость, то мы можем изображать что-то на ней, например, те же графики. Пусть y = F(x), берём значение из заданного для x промежутка и вычисляем y, при этом будут только те значимые результаты, которые попадают в заданный для y промежуток. Далее мы вычислим значение z, по заданной линейной функции.

Ниже представлена программа, которая рисует на плоскости в пространстве параболу. Для того, чтобы ставить точку по заданным координатам нужно использовать метод scatter() - см программу на рисунке 2. Параметр s задаёт размер точки.

Рисунок 2. Программа рисования параболы на плоскости в пространстве. Текст программы см. ниже по ссылке
Рисунок 2. Программа рисования параболы на плоскости в пространстве. Текст программы см. ниже по ссылке
primer377.py

Результат работы программы см. на рисунке 3.

Рисунок 3. Плоскость в пространстве с параболой
Рисунок 3. Плоскость в пространстве с параболой

Ну, пока всё!

Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.

Плосковато мыслите, уважаемый
Плосковато мыслите, уважаемый