Areas de Ciencias

Bienvenidos a MasLibertad

El Coronavirus COVID-19

Torrejón de Ardoz

Areas de Ciencias

Ciencia y Futuro

Ciudades en el Espacio

Teoría de La Gran Onda

Lansi: Idioma Universal

Vida Natural

Utilidades y Herramientas

Sistema Internacional de Medidas

Calculadoras JavaScript

Intersección de Círculos Secantes

Calcular el Número PI

La Espiral Logarítmica

Calculadora de la Inversa del Cuadrado

Calculadoras USA

Convertidor Fahrenheit-Celsius

Calcular el NIF

Simulador D'Hont

Calculadora de Paralaje Galáctico

Calcular Distancias Geográficas

Calculadora de Préstamos

Documentales y Libros

Áreas de Religión

Economía y Política

La Última Página

Datos de Usuario

AnónimoEntrar
IP18.206.187.81

Datos de Pagina

Dibuja dos círculos secantes y calcula la superficie común

Creada06-05-2020
Modificada07-05-2020
Total Visitas6
Junio6

Área Común de dos Círculos Secantes

Dibuja Círculos Secantes

Use los Cursores para mover el Círculo Azul
Ctrl+Arr y Ctrl+Abj para cambiar el Radio.

Coordenada X    
Coordenada Y    
Radio    
Ver Guías Escala XX
Área Círculo Amarillo XX
Área Círculo Azul XX
Área Intersección XX
Puntos de Intersección XX
No Hay Canvas:(

Este programa dibuja DOS círculos, S y P (Sol Amarillo, Planeta Azul).

El círculo S se sitúa en las coordenadas (0,0) con un radio de 100 píxeles. Para el círculo P podemos indicar las coordenadas (x,y), con un rango de -200 a +200, y un radio que puede estar entre 1 y 200. Cada valor se puede introducir en los cuadros de texto correspondientes o usando los cursores.

Para facilitar el uso del programa, el círculo azul puede moverse con los cursores, y su tamaño varía con Ctrl+Arr y Ctrl+Abj (si en algún momento no funciona, pinchad con el ratón en cualquiera de los campos de texto).

Podemos indicar si queremos ver u ocultar las guías de dibujo, líneas de referencia que facilitan la comprensión del gráfico.

También podemos activar la escala. El radio del círculo amarillo es de 100 píxeles, pero podemos indicar unas coordenadas y un tamaño del círculo azul que hagan que el dibujo se salga del lienzo. Activando la escala, el tamaño se ajustará para que el dibujo quede ajustado a 10 píxeles del borde del lienzo.

Como el radio del círculo amarillo es 100, su área es fija y constante, igual a *100², 31.415'92.

El área del círculo azul variará según el radio que indiquemos.

El área común de ambos círculos dependerá de la posición que guarden entre sí, y puede variar desde CERO hasta el área del círculo más pequeño, que igualmente podría ser S o P.

Los cuadros de texto admiten valores superiores y decimales, sin más límites que el Radio tiene que ser positivo.

Posiciones relativas de dos Círculos

Posiciones de dos CirculosLos dos círculos pueden estar en distintas posiciones entre sí, pero en el caso que nos ocupa sólo nos interesan TRES: Interno, Externo y Secante.

El programa tiene que determinar la distancia a la que se encuentran los centros de S y de P. Para ello recurrimos al teorema de Pitágoras aplicado en coordenadas cartesianas.

Teniendo los centros de ambos círculos con coordenadas Sx, Sy, Px y Py, las distancias entre ellos se calculan con la fórmula:

Distancia de dos Puntos en Coordenadas Cartesianas

No importa la posición de los círculos, que las coordenadas o sus diferencias sean positivas o negativas, al elevarlos al cuadrado tendremos dos cantidades positivas y la raíz de su suma nos dará la distancia a la que se encuentran ambos centros.

Si la distancia es mayor que la suma de los dos radios, los círculos son Externos, y el área común es CERO.

Si la distancia es menor que la diferencia de los dos radios, uno de los círculos es Interno, y el área común es la superficie del círculo más pequeño.

En cualquier otro caso, los círculos son Secantes.

Intersección de Círculos Secantes

Superficie Común de dos Círculos SecantesCuando dos círculos se solapan por el borde, tenemos que calcular la superficie de la intersección de ambos círculos.

Hay que notar que la zona común de ambos círculos es similar a una lente situada entre ambas. Una lente formada por dos semilentes de distinta curvatura. En Geometría, esas semilentes se llaman Segmento circular. No lo confundamos con el Sector circular que es TODO el triángulo ASB más la semilente que lo completa.

Aunque parece difícil, en realidad es muy fácil de calcular.

Tenemos DOS puntos, S y P, correspondientes a los centros de dos círculos.

Hay otros DOS puntos, A y B, en los que se cortan ambos círculos.

Los tres puntos, ASB, definen un Triángulo y también un Sector Circular. Hay que calcular el área del Sector Circular y restarle el área del Triángulo, con lo que tendremos el área de la semilente solar.

Los puntos, APB, definen otro Sector Circular y otro Triángulo. Al restarlos tendremos el área de la semilente planetaria.

La suma de ambas semilentes será igual a la superficie de la intersección de ambos círculos y, en el problema que nos ocupa, a la superficie del Sol eclipsada por el planeta.

Cálculo de Círculos Secantes

Superficie Común de dos Círculos Secantes 2El Triángulo ASB es isósceles, pero es más sencillo trabajar sobre un triángulo rectángulo, por lo que lo dividiremos en dos partes. El segmento SA es igual al Radio del Sol. AC es la mitad de AB.

SC se calcula con la fórmula de Pitágoras.

 

Formula Pitagoras

Y la superficie de ASC será igual a SC·AC/2.

Necesitamos conocer el ángulo ^ASC en radianes. Por trigonometría sabemos que valdrá

 

Ángulo ASC

Superficie Común de dos Círculos SecantesVolvamos al gráfico completo:

El Área del Triángulo ASB es el doble que el del triángulo ASC

aT = 2·(SC·AC/2) = SC·AC

La fórmula del Área del Sector Circular es

 

Área del Sector Circular

donde r es el radio del círculo y a es el ángulo del Sector expresado en radianes.

Aplicado a nuestro problema sería

aS = SA²*^ASB/2

o, si nos queremos ahorrar una operación

aS = SA²*^ASC

Ahora, por fin, podemos restar el Área del Sector menos el Área del Triángulo y tendremos el Área de la Semilente Solar.

Repitiendo el mismo proceso para el otro círculo, el Planeta, (cambiad todas las S por P), conseguiremos el Área de la Semilente Planetaria.

Y la suma de ambas semilentes será la intersección de ambos círculos. En nuestro caso, la superficie del Sol que es eclipsada por un planeta cuando está en su borde.

Los Puntos de Intersección

Superficie Común de dos Círculos Secantes

Partiendo del gráfico adjunto hemos calculado la superficie de intersección de dos círculos, pero hemos obviado un paso que es necesario y fundamental.

Tenemos dos círculos S y P, y conocemos los 3 datos necesarios de cada uno de ellos, las coordenadas x,y y el radio r.

¿Cómo calcular los puntos A y B?

Un Intento Fallido

Aquí lamento decir que no he podido resolverlo, pues no he encontrado una fórmula general que sea sencilla de usar, sino procesos matemáticos para resolver problemas particulares que he intentado programar, hasta llegar a un nivel de complejidad que me ha obligado a buscar otro método de cálculo.

El proceso que he seguido (y que he acabado por abandonar) es el siguiente.

Después de buscar en Google, he encontrado varios ejercicios resueltos y vídeos didácticos donde se explica cómo calcular los puntos de intersección.

Un video bastante bien explicado es: Intersección de Dos Circunferencias.

Al intentar aplicarla a este problema, he realizado los siguientes pasos:

Tenemos DOS circunferencias, Sol y Planeta, para abreviar, S y P

Cada una está definida por tres valores, las coordenadas x e y y el radio r.

Por tanto S = (Sx, Sy, Sr) y P = (Px, Py, Pr)

En Wikipedia: Ecuación de la Circunferencia, tenemos

(x-a)² + (y-b)² = r²

No es, ni más ni menos, que el teorema de Pitágoras en un sistema de coordenadas cartesianas.

Aplicándola a nuestras dos circunferencias, Sol y Planeta, tendremos

(x-Sx)² + (y-Sy)² = Sr²

(x-Px)² + (y-Py)² = Pr²

Desarrollándolas, tendremos

x²+Sx²-2x·Sx + y²+Sy²-2y·Sy = Sr²

x²+Px²-2x·Px + y²+Py²-2y·Py = Pr²

Igualando ambas a CERO, podemos combinarlas de la siguiente forma:

x²+Sx²-2x·Sx + y²+Sy²-2y·Sy - Sr² = x²+Px²-2x·Px + y²+yPy²-2y·Py - Pr²

Que podemos simplificar

Sx²-2x·Sx + Sy²-2y·Sy - Sr² = Px²-2x·Px + Py²-2y·Py - Pr²

2(Px-Sx)x+2(Py-Sy)y+(Pr²-Sr²+Sx²+Sy²-Px²-Py²)=0

Aunque no se parezca mucho, esto es una Ecuación de la Recta en formato Ax+By+C=0

donde A = 2(Px-Sx), B = 2(Py-Sy) y C = Pr²-Sr²+Sx²+Sy²-Px²-Py²

Y podemos despejar x=(B+C)/A

Y hasta aquí he llegado yo.

Ahora habría que sustituir x en cualquiera de las dos ecuaciones originales y despejar y. La fórmula final se puede factorizar en dos elementos, y cualquiera de ellos puede valer CERO. Lo cual nos dará DOS valores posibles para y, que serán las coordenadas y de los dos puntos de intersección.

Si cada uno de esos valores lo sustituimos en el cálculo de x, tendremos las dos coordenadas x de los dos puntos de intersección.

Por desgracia, la fórmula, entre variables e incógnitas, era ya tan enrevesada que cualquier error podría ser casi invisible en esta espesa y enmarañada selva. Además, es un proceso que se puede realizar fácilmente en el papel, paso a paso y convirtiendo las variables en números que se pueden operar. En un programa de ordenador no se pueden simplificar tan fácilmente.

Y, por último, el proceso final de factorización en dos elementos, con dos posibles resultados, es fácil de realizar en papel y usando el cerebro, pero la forma en que tendría que hacerlo un programa de ordenador sería tan compleja que se necesitaría, casi, Intuición Artificial.

La Gran Ayuda

Afortunadamente, cuando llego a un punto del que no consigo pasar, dispongo de una técnica que a menudo me ha sacado de apuros: Preguntar.

Y uno de los miembros del Foro del Rincón Matemático, Abdulai, me ha dado esta solución para calcular el área de intersección de dos círculos:

var L2 = x*x+y*y;
var L  = Math.sqrt(L2);	// Distancia de Centro a Centro
var s = (Sr+Pr)/L ;
var d = (Sr-Pr)/L ;
var p= s*d ;
var q= Math.sqrt((s*s-1)*(1-d*d))/2 ;
var p1 = (1+p)/2 ;
var p2 = (1-p)/2 ;
//*** Suma de las áreas de cada sector ***
var A  = Sr*Sr*Math.atan2(q,p1) - L2*p1*q +
            Pr*Pr*Math.atan2(q,p2) - L2*p2*q ;

Si quisiéramos colocar todas estas variables en una única fórmula, sería larguísima. Son sólo CUATRO variables (x,y,Sr,Pr) pero usadas más de un centenar de veces en funciones trigonométricas, raíces, divisiones, multiplicaciones, sumas y restas.

Además, Abdulai también ha resuelto cómo calcular las coordenadas de los puntos de intersección de las circunferencias.

//*** Coordenadas de A=(Ax,Ay) y B=(Bx,By) ***
Ax = Bx = (Px+Sx+x*p)/2 ;
Ay = By = (Py+Sy+y*p)/2 ;
x *= q  ;  y *= q ;
Ax -= y ;  Ay += x ;
Bx += y ;  By -= x ;

Sinceramente, espero que las fórmulas aportadas por Abdulai os parezcan suficientes. A la vista está que, con ellas, el programa funciona perfectamente.

Otras Calculadoras JavaScript

Perdón por la interrupción

La Ley me obliga a darte el siguiente

Aviso Legal

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación.

Si continua navegando, consideramos que acepta su uso.

Si lo desea, puede Ampliar Información

Aceptar Cookies

Bienvenidos a MasLibertad | ¿Quién soy yo? | Cartas al Autor | Aviso Legal sobre Cookies