Проверьте, находится ли точка на линии в Java Swing

Я нарисовал линию, а затем точку, и затем я хочу проверить, находится ли точка на линии или нет. Я взял координату строки в массиве (так как было более одной строки). Я хочу проверить текущую точку в последней строке или нет?

if (positionX1 == positionX2 && positionY1 == positionY2) {
    float m = line.getSlope(
        drawLines[currentLines - 1][2], drawLines[currentLines - 1][3],
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    m = Float.parseFloat(df.format(m));
    float c = line.getIntercept(
        drawLines[currentLines - 1][2], drawLines[currentLines - 1][3],
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    c = Math.round(c);
    m1 = line.getSlope(positionX2, positionY2,
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    m1 = Float.parseFloat(df.format(m1));
    System.out.println(m + "   " + m1);
    c1 = line.getIntercept(positionX2, positionY2,
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    c1 = Math.round(c1);

    if (m == m1 && ((c == c1) || (c == c1 - 1) || (c == c1 + 1))) {
        System.out.println("Point is on Line");
    }
}

Проблема в том, что когда точка находится рядом с начальной точкой линии или когда линия около вертикальных значений m1 и c1 изменяется с большой разницей. Таким образом, существует проблема с определением точки на линии или нет. Как я могу проверить эту ситуацию?

Ответы на вопрос(3)

Ваш ответ на вопрос