1 votos

Computar posiciones de círculos superpuestos, equidistantes entre sí.

enter image description here

Hola, soy programador y quería desarrollar una aplicación que tuviera varios círculos superpuestos en el mismo lugar, donde cada círculo pueda ser seleccionable.

¿Existe alguna forma matemática de calcular las posiciones de los círculos para que sean equidistantes entre sí? La imagen muestra algo parecido a lo que quiero conseguir. Supongo que la distancia entre los círculos vecinos en el patrón debe ser el mismo, donde sus bordes se superponen los centros? ¿Existe una fórmula para algo similar? ¿O es algo que se consigue por cómputo individual de cada caso?

Gracias

0voto

user90997 Puntos 1

La forma más sencilla es utilizar coordenadas polares para obtener los centros de $n$ círculos equidistantes entre sí. Estas coordenadas son

$$(\rho \cos\frac{2 \pi k}{n}, \rho \sin\frac{2 \pi k}{n})$$

donde $\rho$ es el radio de los círculos y $k=0,1,2...(n-1)$ es un número entero que identifica el $k^{the}$ círculo, contándolos desde el correspondiente a $k=0$ (cuyo centro está en el $x$ -) y moviéndose en el sentido contrario a las agujas del reloj. Por ejemplo, para $n=6$ y considerando un radio de $\rho=5$ las fórmulas darían las siguientes coordenadas para los seis centros:

$$(5 \cos\frac{0\pi}{6}, 5 \sin\frac{0\pi}{6})= (5,0)$$

$$(5 \cos\frac{2 \pi}{6}, 5 \sin\frac{2 \pi}{6})=(\frac{5}{2},\frac{5\sqrt{3}}{2})$$

$$(5 \cos\frac{4\pi}{6}, 5 \sin\frac{4\pi}{6})= (-\frac{5}{2},\frac{5\sqrt{3}}{2})$$

$$(5 \cos\frac{6\pi}{6}, 5\sin\frac{6\pi}{6})= (-5,0)$$

$$(5 \cos\frac{8 \pi}{6}, 5\sin\frac{8 \pi}{6})=(-\frac{5}{2},-\frac{5\sqrt{3}}{2})$$

$$(5 \cos\frac{10 \pi}{6}, 5\sin\frac{10 \pi}{6})=(\frac{5}{2},-\frac{5\sqrt{3}}{2})$$

Este enfoque le ofrece los centros de $n$ círculos igualmente espaciados alrededor del origen, equidistantes entre sí, pasando todos por el origen, y con al menos un círculo que tenga su centro en el $x$ -eje. Si no queremos que ningún centro esté en el eje $x$ -eje, también podríamos girar todos los centros en sentido contrario a las agujas del reloj un ángulo $\theta$ . En este caso, las coordenadas de los centros pasan a ser

$$[\rho \cos(\frac{2 \pi k}{n}+ \theta), \rho \sin(\frac{2 \pi k}{n}+ \theta)]$$

Además, para cambiar el grado de solapamiento, podríamos decidir alejar todos los centros del origen o acercarnos a él una distancia $d$ sin modificar el radio. Para ello, establezca las coordenadas como

$$[(\rho+d) \cos(\frac{2 \pi k}{n}+ \theta), (\rho +d) \sin(\frac{2 \pi k}{n}+ \theta)]$$

donde para $d$ positivo los centros se alejan y el solapamiento se reduce, mientras que para $d$ negativo (y $|d| \leq \rho$ ) los centros se desplazan hacia el origen y aumenta el solapamiento.

Por último, para dibujar las circunferencias una vez identificados los centros, recordar que la ecuación de una circunferencia que tiene radio $\rho$ y centro con coordenadas $(p,q)$ viene dada por

$$(x-p)^2+(y-q)^2=\rho^2$$

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