Задать вопрос
RayProgrammer
@RayProgrammer
Ищу познание в мире программирования!

Как найти точку пересечения двух координатных прямых?

Есть задача, которую нужно решить на языке программирования Python: Дано две прямые A(x,y,angle) и B(x,y,angle), нужно найти точку пересечения этих прямых.
p.s Облазил все математические сайты, так и не нашёл точного решения на свою задачу.
  • Вопрос задан
  • 1220 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это же простейшая школьная тригонометрия.
xA + a·sin(angleA) = xB + b·sin(angleB)
yA + a·cos(angleA) = yB + b·cos(angleB)
Решаете систему уравнений, получаете a и b. Подставляете в уравнение прямой, получаете точку пересечения.
Ответ написан
NeiroNx
@NeiroNx
Программист
www.cleverstudents.ru/line_and_plane/slope_interce...
хорошо вот 2 уравнения прямых A(xa,ya,angle_a) и B(yb,xb,angle_b):
y=ya+(x-xa)*tan(angle_a)
y=yb+(x-xb)*tan(angle_b)

нужно решить их как систему уравнений - выразить x после подстановки y
ya+(x-xa)*tan(angle_a)=yb+(x-xb)*tan(angle_b)
дальше уже лень решать...

не забывайте где в пионе функция тангенса, ну и конверсию из градусов в радианы тоже надеюсь умеете делать
from math import tan
и проверки на вырожденные случаи - когда одинаковые углы или точки лежат на одной прямой

в школе вроде все учатся, только кто-то думает что им это не надо, а потом раз и надо оказывается.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Lunali
@Lunali
скрытна.
все я сделала готовую программу это можно сделать вот так https://planet.mblock.cc/project/704229

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

то есть можно спросить где нарисовать линию начальные точки и тогда можно без проблем делать даже голосовой набор и программа сама покажит

я не знаю как это записать математически или выражением, но это очень легко ,как видишь программа работает ,а код можно посмотреть и переписать ,я потратила на это целых 10 минут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы