Cómo encontrar las coordenadas de la intersección de dos líneas verticales
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 p>
*/
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>