Compruebe si el punto está en línea en Java Swing

He dibujado una línea y luego un punto, y luego quiero verificar si el punto está en la línea o no. He tomado una coordenada de línea en la matriz (ya que había más de una línea). ¿Quiero verificar el punto actual en la última línea o no?

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");
    }
}

Problema es cuando un punto está cerca del punto inicial de la línea o cuando una línea trata de valores verticales de m1 y c1 cambia con gran diferencia. Entonces, hay un problema para detectar si un punto en línea o no. ¿Cómo puedo verificar esta situación?

Respuestas a la pregunta(6)

Su respuesta a la pregunta