Форум сайта python.su
1
Уважаемые коллеги, подскажите, как можно решить задачу.
Суть поставленной задачи, через вершины графика построить прямые бесконечные линии до следующих вершин. Может можно как-то через numpy или ещё через что.
Сам график:
import matplotlib.pyplot as plt y = [19, 20, 18, 19, 17, 15, 13, 11, 12, 13, 11, 12, 13, 14, 15, 13, 14, 15, 13, 14, 15, 16, 17, 15, 13, 11, 9, 10, 11, 12, 13, 11, 12, 13, 14, 15, 16, 17, 18, 16, 14, 12, 13, 14, 15, 13, 11, 9, 7, 8, 6, 7, 5, 6, 7, 8, 6, 7, 8, 9, 7, 5, 6, 7, 8, 6, 7, 8, 9, 10, 8, 9, 7, 5, 6, 7, 8, 9, 7, 5, 6, 4, 5, 3, 1, 2, 0, 1, -1, 0, 1, 2, 1] ax = plt.subplot(111) plt.plot(y) plt.show()

Офлайн
221
сама формулировочка странная..бесконечные лини от вершин до вершин(каких?? как это). По картинке это не прямые, а лучи
сколько из вершины N проводить лучей и через какие вершины они должны проходить.
В общем задание не понятное. НУ а так да, реально.
Офлайн
1
Спасибо, что ответили.
Извините меня за каламбурность моего вопроса.
На самом деле задача сводиться к тому, чтобы с помощью shapely.geometry достроить прямую линую от точки А до оси Х(n,0) через точку Б, где n это координата Y=0
Как это сделать, не подскажите? Как пример:
Точки:
A = (1, 20)
B = (3, 19)
Не подскажите, как это сделать?
Спасибо, что уделили моему вопросу Своё время.
Офлайн
568
Дорогой друг. От вас добиваются конкретики. Не бывает прямой линии от точки до точки. Не бывает прямой линии “от точки до оси”. Выражайтесь терминами элементарной геометрии за восьмой класс: прямая, луч, отрезок, плоскость. Для каждого из этих геометрических понятий есть определение.
Офлайн
1
FishHook
Дорогой друг. От вас добиваются конкретики. Не бывает прямой линии от точки до точки. Не бывает прямой линии “от точки до оси”. Выражайтесь терминами элементарной геометрии за восьмой класс: прямая, луч, отрезок, плоскость. Для каждого из этих геометрических понятий есть определение.
Офлайн
568
paramanГораздо!
Так стало понятнее?
Офлайн
221
paraman
в таком случае не так уж это и сложно.
У вас даны две точки A(x1, y1) и B(x2, y2). Уравнение прямой в общем виде y=k*x+b. Подставляя в это уравнения координаты точек вы получите систему уравнений. Решая эту систему ( школьный курс алгебры 7 класс) относительно k и b вы получите уравнение прямой проходящей через заданные две точки. Для ваших точек это будет уравнение вида y=-0.5*x+20.5 . Так как вам надо найти точку пересечения этой прямой с осью Х, то подставляем в полученное ранее уравнение y=0 и находим оттуда Х, который равен 41, т.о. мы получили точку (41, 0). Далее строим отрезок, примерно так
pyplot.plot([1, 41], [20, 0])
Отредактировано JOHN_16 (Фев. 9, 2016 02:54:37)
Офлайн
1
Спасибо. Я уже решил задачу.
Офлайн