У меня есть два набора координат (2D векторов) на прямоугольной сетке. A и B. Сетка имеет конечную ширину и высоту, которые известны. То, что я хочу сделать, это получить направление от А до В, а затем спроецировать его, насколько я смогу, чтобы получить самую дальнюю точку сетки в этом направлении. Это будет одна из плиток внешнего края
Я дошел до нормализации (B - A), и это дает направление. Но оттуда я понятия не имею, как выяснить, как далеко я могу пройти, прежде чем эта линия достигнет края
Лучшее решение, о котором я могу подумать, - это угадывать и уточнять его, но это кажется ужасно неэффективным. Я знаю, по крайней мере, что она должна быть короче, чем линия от B до ближайшего угла, но длиннее, чем линия от B до ближайшего края
Есть мысли? Направьте меня в правильном направлении?