Я ищу точки пересечения вертикальной линии с построенным мной графиком, который имеет интерполированные значения pyplot
.
Я думаю, что код и график ниже сделают мой вопрос болееЧисто.Ниже приведен пример кода и полученный график.То, что я ищу, это все точки пересечения между красной вертикальной линией и синими линиями (так что в этом случае должно быть 3 таких точки).
Я не знаю, как это сделать - кто-нибудьзнаете как?
Код:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
t = np.linspace(-np.pi, np.pi, 512, endpoint=False) + 0.0001 # 0.0001 to get rid of 0 values.
# normalized square wave
u = np.sign(np.sin(2 * np.pi * t))
u = u - np.min(u)
u = u / np.max(u)
# rotate the square wave
phi = - np.pi / 3.0
t_rot = t * np.cos(phi) - u * np.sin(phi)
u_rot = u * np.cos(phi) + t * np.sin(phi)
# level the rotated square wave
u_rot_leveled = u_rot + np.tan(-phi) * t_rot
plt.plot(t_rot, u_rot_leveled, '.-')
plt.axvline(x=-1.1, linestyle=':', color='red')
Сюжет:
Спасибо за любую помощь!