Выстрел прошел рядом.

Banana

Участник
Сообщения
892
Реакции
113
Требуется отловить дистанцию пули которая прошла вблизи жертвы.

На картинке постарался показать что я имею введу.
upload_2018-7-24_14-0-46.png


У кого есть соображения как можно это реализовать?
 

Banana

Участник
Сообщения
892
Реакции
113

WhoAmI / WillStriX

Мошенник
Сообщения
222
Реакции
129
спасибо, но там речь идет о двуичной системе координат а в игре третичная система координат.
--- Добавлено позже ---
Мне бы формулу я бы все в Pawn перевел)
Держи
mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
спасибо вам большое!

И ты это в пауна перевел!? Интересно было-бы глянуть.
Вообще, здесь как ни крути, все 3 точки всегда лежат в одной проскости. Поэтому что первая подсказка, что вторая, это по сути одно и то-же.
Проще говоря - плоскость повернется по этим 3 точкам, в любом случае. Если бы был четырехугольник, тогда другое дело.
Возможно я что то не допонял. Но тема интересная.
 
Последнее редактирование:

komashchenko

Идиот
Сообщения
916
Реакции
2,569
@tonline_kms65_1, формулу перевел @Kailo
PHP:
//http://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
// x0 - точка до которой нужно узнать ростояние от линии
// x1 - начальная точка линии
// x2 - конечная точка линии
stock float PointLineDistance(const float x0[3], const float x1[3], const float x2[3])
{
    float vec1[3], vec2[3], div;
    SubtractVectors(x2, x1, vec1);
    SubtractVectors(x1, x0, vec2);
    div = GetVectorLength(vec1);
    GetVectorCrossProduct(vec1, vec2, vec1);
    return GetVectorLength(vec1) / div;
}

Оффтоп
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Круто.
Это растояние коробки карты? Даже не так, это мах. расстояние(просто для сравнения).
По идее, здесь получается простой треугольник, и нам нужно найти длину биссектрисы.
Применение - наверно для эффекта свиста "пролетающей" пули.
 
Сверху Снизу