У меня проблемы с моей программой.я хочу реализовать способ понять точку (x, y), в которой расположен квадрант.
Концепция квадранта, которую я пытаюсь реализовать, заключается в следующем:
У меня есть прямоугольник, из которого у меня есть координаты всех углов и ребер.учитывая другую точку в пространстве, в 2D-пространстве, я хотел бы знать, где находится между верхом, низом, слева и справа.
Заранее спасибо.
РЕДАКТИРОВАТЬ:
До сих пор я написал этот фрагмент кода:
Point A=t.src; //center point of the first square
Point B=t.dest; //center point of the second square
int destHeight=t.destDim.height;
int destWidth=t.destDim.width;
int m = destHeight/destWidth;
int b = B.y -(m*B.x);
int d = B.y +(m*B.x);
if(A.y >= m*A.x +b){
if(A.y >= -m*A.x+d){
System.err.println("2 - Source on BOTTOM");
}else{ //A.y < -m*A.x+d
System.err.println("2 - Source on LEFT");
}
}else if(A.y < m*A.x + b){
if(A.y>= -m*A.x +d){
System.err.println("2 - Source on RIGHT");
}else{ //A.y < m*A.x + d
System.err.println("2 - Source on TOP");
}
}
Проблема в том, что у меня все еще нет ожидаемого результата.Вот что я получаю: Видео-демонстрация проблемы
, как вы можете видеть из консоли вывода, она никогда не объявляет, что источник находится слева, она просто переходит сверху вниздно.