Encuentre el centro del círculo dadas dos rectas tangentes y un punto de tangencia

Estoy intentando encontrar el centro del círculo púrpura (y / o el radio) dada la siguiente información:

  • Un punto de tangencia y la pendiente de la línea (línea naranja)
  • Un punto en una línea que es tangente al círculo y la pendiente de la línea (línea verde)

No puedo resolver esto trigonométricamente porque es posible que las líneas tangentes estén en cualquier ángulo entre sí (es decir, incluidas las paralelas). Editar: solo para aclarar, el diagrama a continuación no pretende mostrar los valores exactos, solo para ilustrar la información que está disponible (es decir, una línea tangente con un punto definitivamente en el círculo y otra línea tangente con un punto conocido que no está en el circulo). Las rectas tangentes pueden cruzarse o ser paralelas.

Mi intuición dice que puedo usar la ecuación de un círculo y conectar el punto de tangencia fijo y la ecuación de la otra línea para obtener un conjunto de dos ecuaciones circulares equivalentes, pero parece que estoy atrapado allí, y esto está un poco fuera de lugar. el límite de mi conjunto de habilidades (disculpas si estoy cometiendo errores básicos aquí):

( 6 - h ) 2 + ( 4 - k ) 2 = r 2 = ( 1 x - h ) 2 + ( 0 y - k ) 2

( 6 - h)2+ ( 4 - k)2=r2= ( 1 x - h)2+ ( 0 y- k)2

Lo que me parece equivalente a:

( 6 - h ) 2 + ( 4 - k ) 2 = ( 1 x - h ) 2 + ( 0 y - k ) 2

( 6 - h)2+ ( 4 - k)2= ( 1 x - h)2+ ( 0 y- k)2

Pero no estoy totalmente seguro de a dónde ir desde allí.

ingrese la descripción de la imagen aquí

Tienes suficiente información para encontrar dónde se cruzan las dos rectas tangentes. La distancia desde ese punto a los dos puntos tangentes en el círculo son iguales, por lo que tiene una forma de calcular el segundo punto tangente. Los radios desde esos puntos tangentes al centro del círculo son perpendiculares a las líneas tangentes.
Como se menciona en la pregunta, las rectas tangentes pueden ser paralelas (o lo suficientemente cerca como para que los números sean difíciles de manejar programáticamente), por lo que una solución que se basa en la intersección de las rectas tangentes puede no funcionar aquí. El diagrama estaba destinado a mostrar un ejemplo de la información disponible, no necesariamente los parámetros exactos.
Si ese es el caso, entonces puede resolver algebraicamente los valores que necesita y luego buscar formas numéricamente estables de calcularlo.
Me doy cuenta de que la multitud aquí es generalmente más avanzada, pero ahí es donde estoy perdido. Parece que tengo más incógnitas en las ecuaciones equivalentes de las que puedo resolver y obtener números exactos. Pero, lógicamente, sé que solo hay una solución para la información dada.
Intentaré esbozar una respuesta para ti, tal vez te ayude.
¡Eso sería increíble, gracias!
@Nishmaster Si las líneas son paralelas, las pendientes son idénticas y los puntos tangentes están en extremos opuestos de un diámetro. Dado que tiene las ecuaciones de línea, puede obtener los dos puntos tangentes; el centro del círculo está a medio camino entre ellos.
¿Por qué no encontrar la ecuación de la normal que pasa por el punto (6, 4) yx = cualquiera que sea el punto de contacto? La intersección te da el centro

Respuestas (5)

Los centros ( R R y S S abajo) de los círculos objetivo se encuentran en la parábola cuyo foco es el punto tangente ( T T ) y la directriz es la "otra" recta tangente (a través de algún punto U U ).

ingrese la descripción de la imagen aquí

Como muestra la figura, se determina fácilmente que los radios correspondientes ( r r y s s ) satisfacer r ( 1 + cosθ ) = d = s ( 1 - cosθ ){ r , s } = d1 ± cosθ

r ( 1 + cosθ ) = d= s ( 1 - cosθ ){ r , s } =D1 ± cosθ(1)
donde d D es la distancia focal-directriz (es decir, la distancia desde el punto tangente a la "otra" línea tangente) y θ θ es el ángulo entre los vectores de dirección de las dos líneas (de manera equivalente, entre los vectores normales).

Ahora, si t t y U tu son los vectores unitarios normales a las rectas tangentes a través de T T y U U , entonces podemos escribir d = | ( U - T ) u |porqueθ = t u

D= | ( U- T) u |porqueθ = t u(2)
de modo que { R , S } = T ± 1 | ( U - T ) u |1 ± t ut
{ R , S} = T±1| (U- T) u |1 ± t ut(3)
donde ± 1 ±1 es una cobertura de mi parte en caso de un error de signo debido a invertir un vector en alguna parte. Salvo un error, "debería" poder aprovechar la distancia firmada d D escribir { R , S } = T ± ( U - T ) u1 ± t ut
{ R , S} = T±( U- T) u1 ± t ut(4)
donde los dos ± ± s partido.

(Comprobación de cordura: cambiar la dirección de t t efectivamente invierte cada ± ± , entonces eso es consistente. Lo mismo para ti tu . Entonces la única pregunta es si debería haber escrito T - U T- U en lugar de U - T U- T , pero creo que mi boceto de GeoGebra me confirma en eso).

Tenga en cuenta que, si las líneas son paralelas, entonces t u = ± 1 t u = ± 1 (con el signo dependiendo de cómo se elijan las normales), de modo que uno de los centros R R , S S se encuentra a mitad de camino entre las líneas, y el otro se dispara hacia el infinito, como se esperaba.

Gracias a todos por su amable ayuda; en última instancia, esta solución resultó ser la más útil (para mí, alguien que no es el mejor en todo esto) debido a la menor cantidad de casos especiales y a la matemática vectorial relativamente simple.

Dado:

Punto de tangencia en la  línea naranja:  ( X 1 , Y 1 )Pendiente de la  Línea Naranja:  m 1Punto en  la línea verde:  ( X 2 , Y 2 )Pendiente de  la Línea Verde:  m 2


Deducciones:

Ecuación de la  línea naranja  l 1 : r = ( X 1 , Y 1 ) + k ( 1 , m 1 )Ecuación de normal a la  línea naranja  l 2 : r = ( X 1 , Y 1 ) + k ( - m 11 + m 2 1 ,11 + m 2 1 )Ecuación de  la línea verde  l 3 : m 2 ( x - X 2 ) - ( y - Y 2 ) = 0


El centro del círculo se encuentra en l 2, asuma que tiene el vector de posición ( X 1 , Y 1 ) + r ( - m 11 + m 2 1 ,11 + m 2 1 ). Su distancia de ( X 1 , Y 1 )y l 2es | r |. Requerimos que su distancia desde la recta tangente l 3también ser | r |, es decir | r | = | m 2 ( X 1 - X 2 - r m 11 + m 2 1 )+(Y2-Y1-r1 + m 2 1 )|

y si mis cálculos son correctos, esto se reduce a la expresión explícita para rdado a continuación: r = m 2 ( X 1 - X 2 ) - ( Y 1 - Y 2 )1 + m 1 m 21 + m 2 1 ±1
Todo lo que necesitas hacer es encontrar r: | r |sería el radio del círculo. Conéctelo al vector de posición del centro.

Sabía que estaba complicando demasiado las cosas en mi enfoque, principalmente porque estaba tratando de evitar demasiada notación vectorial, pero esta es absolutamente la manera de hacerlo (teniendo en cuenta que generalmente obtendrá 2 soluciones para el radio, porque en realidad hay 2 círculos que cumplen las condiciones). Terminaré mi solución, pero probablemente sea más fácil de usar.
@ConMan Avísame si mi fórmula corrobora tu solución. También puede encontrar una expresión explícita de r de lo anterior.
¿Cómo funcionaría esto en el caso de tangentes donde la pendiente es una línea vertical (es decir, la forma de pendiente de la ecuación lineal me da una m que es infinita)?
@Nishmaster Cuando m 2 es finito pero m 1 , puede tomar el límite de la expresión r = lim m 1m 2 ( X 1 - X 2 ) - ( Y 1 - Y 2 )1 + m 1 m 21 + m 2 1 ±1=m2(X1-X2)-(Y1-Y2)m 2 ± 1
y las coordenadas del centro son r C = ( X 1 , Y 1 ) + r ( lim m 1 - m 11 + m 2 1 ,limm111 + m 2 1 )=(X1,Y1)+r(-1,0)
Desafortunadamente cuando m 2 , no puedes simplemente tomar el límite. Tendrás que volver a trabajar con la ecuación correcta de l 3 : x - X 2 = 0 , dando | r | = | X 1 - X 2 - r m 11 + m 2 1 |
Lo que finalmente da r = X 1 - X 2m 11 + m 2 1 ±1 .

Convierta las ecuaciones de las dos líneas a la forma a x + b y= c , p x + q y= r

donde a 2 + b 2 = p 2 + q 2 = 1.De esta forma, el lado izquierdo de la ecuación da la distancia del punto ( x , y ) desde una línea que pasa por el origen paralelo a la línea dada.

Ahora considere estas dos ecuaciones: ( a + p ) x + ( b + q ) y= c + r , ( a - p ) x + ( segundo - q ) y= c - r ,

que se forman a partir de la suma o diferencia de ecuaciones ( 1 )y ( 2 ). Si las rectas en las ecuaciones ( 1 )y ( 2 )se intersecan, luego las ecuaciones ( 3 )y ( 4 )son las ecuaciones de las dos bisectrices de las rectas ( 1 )y ( 2 ); pero si lineas ( 1 )y ( 2 )son paralelas, entonces una de las ecuaciones ( 3 )o ( 4 )es la ecuación de la línea a medio camino entre las líneas ( 1 )y ( 2 )y la ecuación restante no tiene solución. (En el caso paralelo, uno del segundo par de ecuaciones tiene la forma 0 x + 0 y = k.)

Suponga que el punto de tangencia dado está en la línea ( 1 ). Encuentre la recta que pasa por el punto de tangencia perpendicular a la recta ( 1 )y encuentra las intersecciones de esa línea con las líneas ( 3 )y ( 4 ). (En el caso paralelo, simplemente encuentre la intersección con cualquiera de las líneas ( 3 )o ( 4 ) existe.) Las intersecciones que encuentra en este último paso son los centros de los círculos que resuelven el problema, y ​​de hecho, si las dos líneas originales no son paralelas, hay dos círculos, uno a cada lado de la línea con la línea dada. punto de tangencia.

Puede manejar el caso "prácticamente paralelo" (donde los valores numéricos de las ecuaciones son tan cercanos que no puede saber si son realmente paralelos dentro de la precisión de sus cálculos) descartando cualquier línea "bisectriz" cuyos coeficientes sean demasiado pequeños.

Podemos resolver esto en el caso general, y luego debería poder ingresar sus valores específicos (o incluso escribir una función en el lenguaje de programación de su elección para que lo haga por usted).

Primero, voy a hacer trampa al hacer un par de suposiciones que sé que no se garantiza que sean ciertas, a saber:

  1. Las dos rectas tangentes son reflejos entre sí en la x eje, por lo que sus gradientes son un factor de -1 entre sí;
  2. El punto de intersección de las líneas es el origen;
  3. El círculo está sentado a la derecha de las líneas; y
  4. El punto tangente conocido es el que se encuentra sobre el círculo.

Entonces se parece a esto:

Un bosquejo del sistema como se describe, incluidas las ecuaciones para las dos rectas tangentes y las coordenadas para el punto tangente conocido.

Debe quedar claro que el centro del círculo estará en la x-eje, por lo que solo tenemos que dibujar una perpendicular a la línea tangente superior y averiguar dónde se cruza con ese eje. El gradiente de esa perpendicular será - 1metro y por tanto su ecuación será

y - y Q= - 1m (x-xQ)y-mxQ= - 1m x+1m xQy= - 1m x+(1+1m )xQ

y despejando y C = 0da x C = ( m + 1 ) x Q.

Entonces, encontrar el radio es tan simple como encontrar la distancia entre Cy Q, que es solo

r= ( x Q - x C ) 2 + ( y Q - y C ) 2= ( x Q - ( m + 1 ) x Q ) 2 + ( m x Q - 0 ) 2= x Q m 2 + m 2= x Q m 2

Lo cual está muy bien, pero ¿qué pasa con todas esas suposiciones que hicimos? Bueno, siempre y cuando las líneas no sean paralelas (en cuyo caso solo encuentra la distancia perpendicular entre ellas y la divide por la mitad) podemos transformar nuestras coordenadas de una manera que preserve todas las distancias pero satisfaga esas suposiciones. A continuación, le indicamos cómo realizar esos ajustes:

  • Si el punto tangente conocido está debajo del círculo, podemos invertir las rectas tangentes intercambiando los signos de sus gradientes y, de hecho, podemos escribir r = | x Q m 2 | y esta bien.

  • Para rotar el sistema de coordenadas sobre el origen en el ángulo θ, aplica la transformación:

[ x y ] = [ cosθ pecadoθ - pecadoθ porqueθ ][ x y ]=[ x cosθ - y pecadoθ x pecadoθ + y cosθ ]

donde el ángulo que necesitará aplicar es el que logra los supuestos 1 y 3, notando que una línea de gradiente mpasando por el origen forma un ángulo t h e t unacon la x positiva-eje donde m = tanθ, por lo que debería poder encontrar un ángulo adecuado que ajuste las dos líneas a la posición correcta.

  • Para trasladar las coordenadas de modo que la intersección esté en el origen, puede encontrar el punto de intersección resolviendo el par de ecuaciones ( y 0 - y i ) = m i ( x 0 - x i )para ( x 0 , y 0 )basado en los puntos y gradientes conocidos, luego realizando la transformación ( x , y ) = ( x - x 0 , y - y 0 )PS

Puede trabajar todo eso en el álgebra necesaria trabajando hacia atrás y luego resolver para la r requerida.

Precaución: ¡De hecho, hay dos círculos! En este método, la segunda solución se encontrará poniendo un extra de 90 en la transformación de rotación, que mezcla los signos de algunas cosas y actúa de manera similar a las otras respuestas aquí que le dan ecuaciones cuadráticas para r.

En otro enfoque, podemos mantener los cálculos al nivel de sistemas de dos ecuaciones lineales, excepto en el lugar donde ubicamos el "punto tangente equidistante". Llamaremos a la línea L 1  la línea de pendiente m 1  que contiene el punto tangente conocido ( a , b )  y línea L 2  la línea de pendiente m 2  que contiene el punto ( c , d )  no en el círculo; el segundo punto tangente, que llamaremos ( t , u ) ,  se encuentra en L 2 .   

Su preocupación acerca de si habría suficientes ecuaciones para resolver todas las variables es una consideración razonable, pero no será un problema, ya que es posible encontrar el círculo en cuestión completamente mediante la construcción de regla y regla. El problema está lo suficientemente bien definido como para permitir una solución.

El caso de las "rectas tangentes paralelas" es el más fácil ya que las pendientes son m 1 = m 2 = m .   El segundo punto tangente es la intersección de la línea L 2  con la recta perpendicular a L 1  a través de ( a , b ) .    Entonces tenemos

u - b = - 1  m ·(t-una),u-d=m·(t-c) - m u + m segundo = t - una u - d = metro t - m c ,                        

que puedes resolver para t  y U  por su método preferido de ecuaciones lineales. (Si las rectas tangentes son horizontales o verticales, no se podrá hacer uso de m  , pero el cálculo se vuelve aún más simple , ya que el segundo punto tangente y el centro del círculo compartirán una coordenada con el punto tangente conocido. Esto también es aplicable en el caso general si una de las líneas tangentes es horizontal o vertical).

El centro ( h , k )  del círculo se encuentra entonces a partir de h = a + t   2 ,k=b+u    2  y el radio del círculo está dado por 2 r =    ( Un - t ) 2 + ( b - u ) 2   .  

El caso general requiere el trabajo adicional de encontrar el punto de intersección ( p , q )  de L 1  y L 2  . Usando sus ecuaciones lineales, obtenemos q - b = m 1 · ( p - a ) , q - d = m 2 · ( p - c ) q - b = m 1 p - m 1 a q - d = m 2 p - m 2 c ,                           

resolviendo este par para las coordenadas de la intersección. Como los dos puntos tangentes están igualmente distantes de ( p , q ) ,    podemos escribir

( Un - p ) 2 + ( b - q ) 2 = ( t - p ) 2 + ( u - q ) 2 ,          

cuyo lado izquierdo tiene un valor numérico conocido. Ahora bien, esta ecuación parece que presenta una dificultad, ya que tiene las dos coordenadas desconocidas del segundo punto tangente. Pero como "conocemos" dos puntos en L 2 ,  podemos expresar su pendiente como m 2 = u - q     t - p   ;  insertar esto en nuestra "ecuación de distancia" produce ( a - p ) 2 + ( b - q ) 2 = [ m 2 2 + 1 ] · ( t - p ) 2 ,          

a partir de lo cual podemos determinar t  y consecuentemente u .   [ Tenga en cuenta que esta es la única ecuación cuadrática que encontramos en este argumento. De hecho, hay dos soluciones, como se observa en las otras respuestas publicadas: el "otro círculo" tiene su segundo punto tangente en L 2  pero más allá del punto de intersección ( p , q ) .   Cuando las dos rectas tangentes son paralelas, este punto tangente se ha "retirado" infinitamente lejos del "círculo cercano", con el radio de este círculo "explotando" a un valor infinito; por lo tanto, este segundo círculo "desaparece" de la solución.]

Finalmente, con el punto tangente ( t , u )  ubicado, podemos extender perpendiculares desde L 1  y L 2  en los puntos tangentes apropiados, siendo el centro del círculo la intersección de estas líneas. Por tanto, resolvemos para ( h , k )   en el sistema

k - b = - 1  metro 1 ·(h-a),k-u=-1      m 2 ·(h-t)- m 1 k+ m 1 b=h-un- m 2 k+ m 2 u=h-t.                   

El radio de los círculos ahora se puede obtener de r =    ( a - h ) 2 + ( b - k ) 2   o      ( t - h ) 2 + ( u - k ) 2   .