Определение уравнения прямой по 2 декартовым координатам

Я могу сделать это на бумаге достаточно легко, но у меня есть небольшой умственный блок при переводе этого на язык (я бы принял любой ответ, но Java, вероятно, проще всего).

У меня есть два набора точек: точка A (xA, yA) и точка B (xB, yB).

Зная это и предполагая, что эти два графика создают прямую линию, мне нужно иметь возможность написать функцию, которая даст мне xC, учитывая, что я знаю yC (и, очевидно, что новая точка находится на той же линии).

Вся помощь приветствуется :)

С уважением


person Mark Taylor    schedule 12.09.2013    source источник
comment
Я могу сделать это на бумаге, но не на Java, для меня это не имеет особого смысла. Если бы это был сложный алгоритм, хорошо (или если бы у вас возникли проблемы из-за целочисленного деления). Но преобразовать уравнение на бумаге в уравнение на Java не так уж и сложно.   -  person Teepeemm    schedule 12.09.2013


Ответы (1)


(yB-yA)/(xB-xA) = (yC - yA) / (xC-xA)

вам просто нужно получить xC сейчас, то есть

xC = xA + ((yC - yA) * (xB-xA) / (yB-yA))

Это при условии, что yB отличается от yA . Если они равны, то у вас есть не решения, если yC отличается от yA, и бесконечные решения (каждый xC работает), если yC=yA

person Save    schedule 12.09.2013
comment
Спасибо, бог знает, почему мне было так тяжело! Полный ментальный блок! :) - person Mark Taylor; 12.09.2013