Ответ: Оптимальный способ проверить находится ли объект между точками знаете?
Векторы?
1.Вектор соединяющий точки. Вектор от точки до объекта. Считаешь их длины.
Косинус угла между векторами (x1*x2+y1*y2+z1*z2)/(|длина первого|*|длина второго|). Чем ближе значение к единице тем ближе позиция объекта к линии соединяющей точки. При единице лежит на линии.
2. Вектор от первой точки к второй назовем а. От первой точки к объекту б.
если координата икс у обоих одного знака и у б она меньше по модулю, то если отношение координат этих векторов равно, то объект лежит между точек.
Одинаковый знак если произведение координат больше равно нуля.
if ((a.x*b.x>=0) && (b.x/a.x==b.y/a.y && b.x/a.x=b.z/a.z)) { ... }
Последний раз редактировалось dsd, 18.11.2011 в 10:43.
|