5 votos

Generar un círculo centrado en una línea y que toque otros 2 círculos

Estoy trabajando en un proyecto artístico en el que tengo un conjunto de círculos. Hago crecer cada círculo alrededor de su centro hasta que se toca con otro círculo. Una vez que dos círculos se tocan, el punto de contacto queda fijo y crecen alejándose el uno del otro.

Ahora estoy trabajando en lidiar con 1 círculo que toca a otros 2. Una vez que se tocan realmente, puedo seguir haciéndolos crecer adecuadamente, pero encontrar los parámetros adecuados para que se toquen exactamente en un punto me está resultando complicado.

Lo que ocurre es que dos círculos se están alejando el uno del otro. Amplío el radio de uno de ellos (y muevo su centro), pero me encuentro con que ahora se solapa con un tercer círculo (es decir, se cruza con el tercer círculo en 2 puntos en lugar de 1). Me gustaría reducir el centro y el radio hasta que toque la tercera circunferencia exactamente en un punto, mientras sigue tocando la segunda circunferencia exactamente en un punto.

Aquí hay algunas fotos para que quede más claro. El círculo A está inmóvil en este momento, el círculo B acaba de ser ampliado, y ahora se superpone al círculo C. Me gustaría mover el centro del círculo B a lo largo de la línea AB y cambiar su radio hasta que sólo toque el círculo A y el círculo C en un solo punto cada uno.

Circles

¿Cómo puedo hacerlo? Siento que hay algún sistema de ecuaciones que podría resolver para encontrar el centro y el radio adecuados, pero mis intentos de crear el sistema de ecuaciones adecuado siempre terminan con 2 ecuaciones y 3 incógnitas.

Los círculos pueden tener un tamaño arbitrario y pueden no tener un tamaño casi igual como en la imagen anterior.

5voto

difrnt Puntos 986

Buscamos un círculo centrado en la recta dada (azul), y que toque dos círculos dados (azul). [ ] Si $A$ y $C$ son centros de los círculos dados, $a$ y $c$ sus radios, $K$ el centro y $r$ el radio de un círculo que se toca, entonces $$||KC|-|KA||=|r\pm c-(r\pm a)|=|c-a|.$$ La diferencia de distancias de $K$ a dos puntos fijos es constante. Por tanto, el lugar de los centros de las circunferencias que se tocan es una hipérbola con focos $A$ y $C.$ (Véase también esta pregunta. )

Un vértice de la hipérbola es $I,$ se encuentra en $AC$ a igual distancia de ambos círculos azules.

1 votos

Gracias. Esto hizo el truco.

1voto

Jens Puntos 97

Supongamos que los círculos A y B (con centros $(x_A, y_A)$ y $(x_B, y_B)$ y los radios $r_A$ y $r_B$ ) son tangentes entre sí y el círculo B aún no es tangente al círculo C (con centro $(x_C, y_C)$ y el radio $r_C$ ). Sea el punto T $(x_T, y_T)$ sea el punto de intersección entre los círculos A y B. Los puntos de la línea que une el centro de B con el punto T tendrían entonces la ecuación $$(x,y) = (x_T,y_T) + k(x_B-x_T,y_B-y_T)\tag{1}$$ El radio de una circunferencia con centro en esa línea y que pasa por el punto T es $$r= \sqrt{(x_T-x)^2+(y_T-y)^2} = k\cdot r_B\tag{2}$$ cuando se resuelve el álgebra.

La distancia d de un punto de esa línea al centro del círculo C es $$d= \sqrt{(x_C-x)^2+(y_C-y)^2}\tag{3}$$ Ahora, lo que buscamos es el valor de $k$ para lo cual $$d=r+r_C = k\cdot r_B + r_C \tag{4}$$ Ajuste de las ecuaciones $3$ y $4$ iguales entre sí, y al revisar el álgebra se obtiene la siguiente respuesta $$k = \frac{(x_C-x_T)^2+(y_C-y_T)^2-r_C^2}{2((x_B-x_T)(x_C-x_T)+(y_B-y_T)(y_C-y_T)+r_Br_C))}$$ Insertando este valor de $k$ en ecuaciones $1$ y $2$ te dará el nuevo centro del círculo B y su radio.

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