2 votos

¿Este problema matemático tiene solución o no?

Image that visually shows the problem

Mientras programaba me he enfrentado a un problema matemático que hay que resolver antes de poder seguir adelante. Tal vez necesite más datos de entrada para poder resolverlo, si ese es el caso, házmelo saber y consideraré esto como que no tiene solución y seguiré adelante y veré si hay otras formas de programarlo.

He aquí el problema:

  1. Tienes un círculo pequeño,

    • Predecidido radioso. Se puede cambiar pero siempre sabemos su valor
    • Punto central, "A" es conocido, esto nunca será cambiado
  2. Tienes un punto predecidido, "C". Se puede cambiar pero siempre conocemos su valor

Ahora, la tarea consiste en idear un círculo más grande cuyo borde tenga que tocar el punto "C" y otro punto desconocido "D". El punto "D" se encuentra en algún lugar del borde del círculo pequeño.

En otras palabras, el círculo pequeño debe estar dentro del más grande y tocarse sólo en un punto "D" interno. Al mismo tiempo, el borde del círculo mayor también debe tocar el punto "C".

Este es nuestro punto de partida:

  • Se conoce el radio del círculo pequeño
  • El punto "A" es conocido
  • El punto "B" es desconocido
  • El punto "C" es conocido
  • El punto "D" es desconocido

Tenemos que encontrar B y D, si lo hacemos, obtendremos un triángulo como el que muestra la imagen. Entonces deberíamos ser capaces de obtener el ángulo alfa CBD. Cuando tenemos el ángulo podemos fácilmente hacer el cálculo para obtener la distancia de arco entre el punto C y D para el círculo más grande, que es nuestra misión final.

Como he mencionado antes, dado que el punto "C" y el radio del círculo pequeño pueden variar, necesitamos encontrar una solución general para que el cálculo siempre funcione

1voto

David K Puntos 19172

Por comodidad, utilizaré $r$ para el radio (conocido) del círculo pequeño y $R$ para el radio del círculo mayor.

Si el radio del círculo mayor no se conoce de antemano (es decir, si tomamos la pregunta tal y como se publicó originalmente, donde sólo $r$ y las posiciones de $A$ y $C$ se conocen al principio), entonces hay infinitas soluciones.

Si las coordenadas conocidas de $A$ son $(0,0)$ como en el gráfico de la pregunta, la solución más sencilla (en mi opinión) es hallar la distancia desde $A$ a $C$ -- llamemos a esta distancia $d$ -- y luego multiplicar cada una de las coordenadas de $C$ por $-\frac{r}{d}.$ Esto le da las coordenadas de $D.$ Los puntos $A,$ $B,$ $C,$ y $D$ estarán todos en la misma línea recta con $B$ exactamente a medio camino entre $C$ y $D.$ De ello se deduce que $R = \frac12(d + r).$

Si $R$ es igual a $\frac12(d + r),$ entonces la solución del párrafo anterior es la única solución.

Si $R$ pero $R < \frac12(d + r),$ no hay solución.

Pero si $R$ y $R > \frac12(d + r),$ hay exactamente dos soluciones. En lugar de mirar el triángulo $\triangle BCD,$ Sin embargo, yo miraría $\triangle ABC.$ Esto tiene lados $AC = d,$ $BC = R$ y $AB = R - r,$ todos ellos conocidos o fácilmente calculables a partir de las posiciones de puntos conocidos. Así que por la ley de los cosenos, $$ R^2 = d^2 + (R - r)^2 - 2 d(R-r) \cos\angle BAC.$$

Resolver para $\cos\angle BAC$ y deducir $\angle BAC.$ Dado que conoce la dirección de $A$ a $C,$ sumando o restando $\angle BAC$ desde esa dirección y tomando la distancia $R - r$ de $A$ a $B$ puede determinar las dos posibles ubicaciones de $B.$

0voto

Ishan Deo Puntos 527

Hay infinitas soluciones para los más grandes. Esto puede ser visto como tal -

  1. Elige un punto cualquiera del círculo menor como $D$
  2. Para simplificar, gire los ejes de coordenadas de forma que $D$ se encuentra en el $x$ eje. Así, el punto $B$ también debe yacer en el $x$ eje.
  3. Entonces, si las coordenadas de $C$ son $(a,b)$ y el radio del círculo menor son $r$ la posición de $B$ , $(x,0)$ debe satisfacer la siguiente ecuación - $$(x-r)^2 = (x-a)^2 + b^2$$ cuya solución es $$x = \frac{a^2 + b^2 - r^2}{2(a-r)}$$
  4. Deshacer la rotación en $2$ para recuperar el caso original.

0voto

Yves Daoust Puntos 30126

El sistema es una vez indeterminado.

Que el punto $D$ se encuentra en $(x_D,y_D)=(r\cos\theta,r\sin\theta)$ donde $\theta$ es arbitraria. $B$ se encuentra en la intersección de la línea $AD$ (que es normal a ambos círculos), y la bisectriz de $CD$ . Esto determina el círculo grande.

Pero para conseguir la distancia $CD$ basta con escribir $$CD=\sqrt{(r\cos\theta-x_C)^2+(r\sin\theta-y_C)^2}=\sqrt{r^2-2r(x_C\cos\theta+y_C\sin\theta)+x_C^2+y_C^2}.$$

0voto

N. Owad Puntos 2412

Esta "respuesta" es más bien un comentario demasiado largo.

Ishan Deo tiene toda la razón. Hay un número infinito de círculos posibles que satisfacen sus condiciones.

Pero si quieres una única, puedes imponer una condición extra del ángulo $CBD$ . Si haces esto $\pi$ o $180^\circ$ entonces estás haciendo un segmento de línea que empieza en $C$ pasando por $A$ e intersecando el otro lado del círculo en $D$ . El centro de tu nuevo círculo más grande, $B$ será entonces el punto medio de este segmento de recta. Esta es probablemente la opción más sencilla, si lo que quieres es crear un único círculo. Pero puedes hacer de este ángulo lo que quieras, en cuyo caso obtendrás algo más parecido a la imagen que enlazaste.

Si estás interesado, házmelo saber y puedo concretar algunos detalles, pero he pensado que esto podría resultarte útil

0voto

Wolfgang Kais Puntos 386

Hay infinitos puntos posibles $D$ en el círculo pequeño que permiten construir el segundo círculo tal que $C$ se encuentra en ese segundo círculo y toca al círculo dado en el punto $D$ . Suponiendo que el punto $C$ está siempre fuera del círculo ("pequeño") dado, podemos construir dos tangentes a través de $C$ que tocan el círculo dado en los puntos $T_1$ y $T_2$ . Si elegimos $D$ sea una de éstas, no podremos construir el segundo círculo, porque sería infinitamente grande. Eligiendo $D$ en el círculo dado entre $T_1$ y $T_2$ (en el lado cercano a $C$ ), podremos construir un segundo círculo que no contenga al dado, y eligiendo $D$ en el lado opuesto nos permitirá construir un "círculo mayor" que contenga al menor.

Después de elegir el punto $D$ encontramos el centro $B$ del segundo círculo como sigue:

Dado que el segundo círculo debe tocar justo al dado en el punto $D$ su centro $B$ debe estar en la línea $AD$ a través de $A$ y $D$ . Además, puesto que $\vert\overline{BC}\vert=\vert\overline{BD}\vert$ , $B$ debe estar en la bisectriz del segmento de recta $\overline{CD}$ . Mientras estas dos líneas no sean paralelas (como en el caso de $D=T_1$ o $D=T_2$ ), esto define unívocamente el centro $B$ del segundo círculo deseado.

Desde $\triangle BCD$ es un triángulo isóceles, $\beta=\gamma$ y así $\alpha=180^\circ-2\gamma$ donde $\gamma=\angle CDA$ . A efectos de cálculo, puede ser útil encontrar el segundo punto $P$ en la línea $CD$ que intersecan el círculo dado. Denotando el radio del círculo dado con $r$ y el radio del segundo círculo con $R$ podemos utilizar las siguientes fórmulas de cálculo: $$ \cos\gamma=\frac{\vert\overline{CP}\vert}{2r}=\frac{\vert\overline{CD}\vert}{2R} $$ y $$ \cos\alpha=-\cos2\gamma=-(\cos^2\gamma-\sin^2\gamma)=1-2\cos^2\gamma $$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X