Red de conocimiento informático - Material del sitio web - Cómo encontrar las coordenadas de la intersección de dos líneas verticales

Cómo encontrar las coordenadas de la intersección de dos líneas verticales

Cada vez encuentro más que no soy bueno en matemáticas y he olvidado incluso operaciones matemáticas simples. Escribir el método de cálculo para realizar las coordenadas del punto en la intersección de la línea recta.

El principio es. primero determine los dos puntos en la línea recta y use la fórmula y =ax+b para calcular

Luego, de acuerdo con la ecuación perpendicular a la línea recta Ax+By+C=0 (A≠0, B ≠0), es decir, Bx-Ay+m=0, (m es una covariable) principio para encontrar el valor m de la ecuación perpendicular a la línea recta, y luego encontrar las coordenadas del punto de intersección de la línea recta según sobre las dos ecuaciones. Encuentre el valor m de la ecuación de la línea vertical según el principio de (m es una covariable) y luego encuentre las coordenadas del punto de intersección según las ecuaciones de las dos líneas rectas.

Donde pt1 y pt2 son dos puntos conocidos en la recta, pt3 es la coordenada del punto en la recta vertical, ptCross es la coordenada obtenida de la intersección

[cpp] ¿Ver Plaincopyprint?

/** @ brief Encuentra la intersección de la línea vertical y el tercer punto basándose en dos puntos

@ param pt1 El primer punto en la línea recta

@ param pt2 El segundo punto en la línea recta

@ param pt3 El punto en la línea vertical

@ return Devuelve las coordenadas de la intersección vertical del punto y la línea recta

*/

Prueba QPointF(const QPointF & pt1, const QPointF &pt2, const QPointF &pt3)

{

qreal A = (pt1.y() - pt2 .y())/(pt1.x() - pt2.x()

qreal B = (pt1.y() -A*); pt1.y());

/// > 0 = ax +b -y; la ecuación de la línea vertical correspondiente es -x -ay + m = 0; /p>

/// > A = a; B = b;

qreal m = pt3.x() + A*pt3.y(); / Encuentra la intersección de dos líneas rectas en las coordenadas

QPointF ptCross

ptCross.setX((m-A*B)/(A*A + 1)); >

ptCross.setY(A*ptCross.x() + B);

return ptCross

}

/** @ breve encontrar; el punto de intersección de la línea vertical que pasa por el tercer punto basado en dos puntos

@ param pt1 El primer punto de la línea recta

@ param pt2 El segundo punto de la línea recta

@ param pt3 El punto de la línea recta donde la línea perpendicular pasa por la línea recta

@ return Devuelve las coordenadas de la intersección perpendicular del punto y la línea recta

*/

Prueba QPointF(const QPointF &pt1, const QPointF &pt2, const QPointF &pt3)

{

qreal A = ( pt1.y()-pt2.y())/( pt1.x() - pt2.x());

qreal B = (pt1.y()-A*pt1.y( ));

/// > 0 = ax +b -y; La ecuación de la línea vertical correspondiente es -x - ay + m = 0 (mm es el coeficiente)

; /// > A = a; B = b;

qreal m = pt3.x() + A*pt3.

/// Encuentra las coordenadas de intersección. de dos rectas

QPointF ptCross

ptCross.setX((m-A*B)/(A *A + 1)); (A* ptCross.x()+B);

Return ptCross;

}

La distancia desde un punto a una línea recta es, usando el fórmula, (punto p0(x0,y0), la fórmula de la recta L es)

[cpp] ¿Ver Plaincopyprint?

qreal

prueba2(const QPointF &pt1, const QPointF &pt2, const QPointF &pt3)

{

qreal A = (pt1.y()-pt2.y())/(pt1.x ()- pt2.x());

qreal B = (pt1.y() - A*pt1.y());

/// > 0 = hacha +b -y;

return qAbs(A*pt3.x() + B -pt3.y())/sqrt(A*A + 1); /p>