- Баллы
- 173
Нет ли готовой удобной функции, чтобы узнать, находится ли локация между двумя другими локациями?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
public static boolean isBeetwen2Locations(Location t, Location f, Location s){
double fx = f.getX();
double fy = f.getY();
double fz = f.getZ();
double sx = s.getX();
double sy = s.getY();
double sz = s.getZ();
double tx = t.getX();
double ty = t.getY();
double tz = t.getZ();
return ((fx < tx && tx < sx && fy < ty && ty < sy && fz < tz && tz < sz) ||
(fx > tx && tx > sx && fy > ty && ty > sy && fz > tz && tz > sz));
}
Жаль. Мое будет работать?Официальной нет. Можно почудить с location.distance()
Почему бы не начать своё знакомство с базовыми алгоритмами? У кого-то этого явно не достаёт.Жаль. Мое будет работать?
Почему бы не начать своё знакомство с базовыми алгоритмами? У кого-то этого явно не достаёт.
Оно будет работать, но не всегда правильно, потому, что некоторые вариации расположения точек не были учтены. Нарисуй на бумаге все варианты расположения двух точек в трёхмерном пространстве и сформулируй своё итоговое условие.
return (((fx < tx && tx < sx) || (fx > tx && tx > sx)) &&
((fy < ty && ty < sy) || (fy > ty && ty > sy)) &&
((fz < tz && tz < sz) || (fz > tz && tz > sz)));
Да здесь похоже метод , который ищет принадлежность области, ограниченной для двух точек.У vector есть такой метод как isInAABB.
А так?Код:return (((fx < tx && tx < sx) || (fx > tx && tx > sx)) && ((fy < ty && ty < sy) || (fy > ty && ty > sy)) && ((fz < tz && tz < sz) || (fz > tz && tz > sz)));
@ptnk Правильно?
isInAABB проверяет на принадлежность точки кубоиду ограниченному двумя точками.Да здесь похоже метод , который ищет принадлежность области, ограниченной для двух точек.
А твой метод, возможно проверяет на принадлежность прямой.
И что это ? О_о.
Нарисуй на листочке и рассматривай эти точки. Я подразумеваю, что точка должна лежать между двумя точками - трёхмерную область, своеобразный регион привата, т.е. 3D область, и в таком случае для двух точек я насчитывают 4 различных случая: одна точка ниже или выше другой, одна точка правее или левее другой - скомбинируй эти возможности и получи набор.
Ну вот, ты тем самым зарубил развитие логики данного человека, а ему бы создание своего велосипеда не помешало бы.isInAABB проверяет на принадлежность точки кубоиду ограниченному двумя точками.
Ему всё равно придётся научиться различать какая точка минимальная а какая максимальная иначе проверка не заработает.Ну вот, ты тем самым зарубил развитие логики данного человека, а ему бы создание своего велосипеда не помешало бы.