由于线中的点无法确定角度

unable to determine angle because of points from line

我有一张图像,我从中创建了一些线条。我已经保存了线的起点和终点。线条基本上是矩形的长边,它包围着图像中的白色斑点。矩形被放置在一些圆圈中。图片如下

问题是当矩形在圆的下部形成时,起点可以认为是圆的最低点即靠近圆的边缘,但是当矩形在圆的上部形成时如图最后一个刻度盘所示,很难找出选择哪个点作为起点,找出离刻度盘中心较近的起点。

关于如何交换圆上部区域的线点,是否有任何解决方法。请指导我,因为我现在对此一无所知。

这里是 select 长方形的最长边并打印它的点的代码

int maxIndex = 0;
for (int a = 1; a < length.length; a++){
    double newnumber = length[a];
    if ((newnumber > length[maxIndex])){
        maxIndex = a;
    }
} 
System.out.println("Start= "+pts[maxIndex].toString()+" End= "+pts[(maxIndex+1)%4].toString()+", Length="+length[maxIndex]);

此致,

也许是个笨蛋,但首先想到的是对角的 Y 值求和,但不要除以 4(不需要)。如果它们 高于 4*sum 的阈值,当矩形是水平的 那么你就知道它是 'up'.

在 IF 语句中使用它来切换上下情况的代码...

int totalY = 0;

for(int i = 0; i < 4; i++){
    totalY += vectorOfYourPoints[i].y;
}

if(totalY > someThresholdYoullSet){
    //do the thing you need to do if it's UP
} else {
    //do the thing you need to do if it's DOWN
}