ЕЗ
Елена Замотаева

Переместить полученный график по осям в Python.

В Python у меня получается такой график (рис. 1) (использую модуль matplotlib.pyplot), получаются по формулам вот такие значения (рис. 2), Можно ли сместить этот график по осям, чтоб по Х и по У начальные значения были равны 0? PS. В MATLAB смотрел, там можно так сделать (рис. 3) (формулы, по которым ведётся расчёт, одни и те же). Можно ли в Python также?

Код:
import numpy as np
import matplotlib.pyplot as plt

class calculation_of_the_flight_of_the_projectile:
def __init__(self): # инициализация переменных

# Параметры снаряда
self.m = 6.3 # масса снаряда, кг
self.cal = 76 # калибр снаряда, мм
self.s = np.pi * ((self.cal / 1000) ** 2) # площадь поперечного сечения снаряда (мидель), м^2
self.cx = 2.382 # аэродинамический (баллистический) коэффициент

# Начальные значения
self.v0 = 680 # начальная скорость, м/с
self.theta = [4 * np.pi / 180] # угол бросания (возвышения орудия), °
self.g = 9.8 # ускорение свободного падения, м/с^2
self.pv = 1.225 # плотность воздуха (на уровне моря), кг/м^3

# Установка времени в качестве параметра "непрерывный"
self.t = np.linspace(0, 6.3, num=100)

for i in self.theta: # Расчёт угола траектории
self.x1 = []
self.y1 = []
for k in self.t: # Расчёт положения в любой момент времени
x = (2 * self.m * np.log(self.cx * k * self.pv * self.s * self.v0 * np.cos(i) + 2 * self.m) / (
self.cx * self.pv * self.s))
y = (-self.g * k ** 2 / 2 + 2 * self.m * np.log(
self.cx * k * self.pv * self.s * self.v0 * np.sin(i) + 2 * self.m) / (self.cx * self.pv * self.s))
self.x1.append(x)
self.y1.append(y)
print(f'значение по х = {x}; значение по y = {y}')
print(f'значение по Х начальное = {np.min(self.x1)}; значение по Х конечное = {np.max(self.x1)}')
print(f'значение по У начальное = {np.min(self.y1)}; значение по У конечное = {np.max(self.y1)}')

# Заголовок
plt.title('Полёт снаряда')

# Подпись осей
plt.xlabel('Расстояние, м')
plt.ylabel('Высота, м')

# Передача функции, по которой построится график
plt.plot(self.x1, self.y1)
plt.grid()

# Графическое изображение графика с сеткой
plt.show()

ДМ
Дмитрий Мыздриков

Самое простое -- вычесть из каждой точки координаты стартового положения.

ВК
Виктор Карена

2020 год, про онлайн шеринг кода люди еще не знают....

Похожие вопросы
Python пожалуйсто помогите срочно!
Конвертировать MP3 в WAV на Python
Информатика python ПаМаГиТе
Python ошибка при вводе текста
Python как убрать кавычки
Помогите новичку в Python
Калькулятор на PYTHON
Калькулятор на Python
Python, обратное число
Ошибка python после установки