Foros de matemática
15/12/2017, 10:53:32 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Puedes practicar LATEX con el cómodo editor de Latex online
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Punto de corte de 3 esferas  (Leído 72 veces)
0 Usuarios y 1 Visitante están viendo este tema.
jgomez_fuente
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 7


Ver Perfil
« : 04/12/2017, 08:37:54 pm »

Muy buenas,
a ver si me podéis ayudar.

Necesito calcular el punto de corte de 3 esferas.
Como premisa se que estas 3 siempre se van a cortar en un punto.

¿Que fórmula matemática habría para hacerlo? Me gustaría hacer un programa que lo calcule.


En línea
Ignacio Larrosa
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1.722


Ver Perfil WWW
« Respuesta #1 : 04/12/2017, 09:48:43 pm »

Muy buenas,
a ver si me podéis ayudar.

Necesito calcular el punto de corte de 3 esferas.
Como premisa se que estas 3 siempre se van a cortar en un punto.

¿Que fórmula matemática habría para hacerlo? Me gustaría hacer un programa que lo calcule.


Tienes que resolver el sistema que forman las ecuaciones de las tres esferas. Resolver un sistema de tres ecuaciones de segundo grado en tres variables puede ser realmente complicado en general, pero en este caso las ecuaciones siempre pueden escribirse de forma que los términos cuadráticos tengan el mismo coeficiente, por ejemplo 1. Sean entonces las tres esferas:

[texx]x^2 + y^2 + z^2 + A_1x + B_1y + C_1z + D_1 = 0[/texx]
[texx]x^2 + y^2 + z^2 + A_2x + B_2y + C_2z + D_2 = 0[/texx]
[texx]x^2 + y^2 + z^2 + A_3x + B_3y + C_3z + D_3 = 0[/texx]

Si restas dos pares de ecuaciones, por ejemplo le restas la primera a las otras dos, te va a quedar un sistema lineal de dos ecuaciones con tres incognitas:

[texx](A_2-A_1)x + (B_2-B_1)y + (C_2-C_1)z + (D_2-D_1) = 0[/texx]
[texx](A_3-A_1)x + (B_3-B_1)y + (C_3-C_1)z + (D_3-D_1) = 0[/texx]

Te quedan las ecuaciones de dos planos, que conjuntamente definen una recta. Lo más cómodo será obtener una ecuación paramétrica de esta recta. A continuación hay que sustituir las tres coordenadas en función del parámetro en la ecuación de cualquiera de las circunferencias. Te quedara una ecuación de 2º grado en el parámetro, que tendrá dos soluciones, excepcionalmente una  o ninguna. Para obtener los puntos, si los hay,sustituyes el valor del parámetro en las ecuaciones paramétricas de la recta.

Como digo, normalmente se cortaran las tres simultáneamente en dos puntos o en ninguno; para que se corten en uno solo, una debería pasar por el punto de tangencia de las otras dos.

Saludos,





En línea

Daría todo lo que se por la mitad de lo que ignoro (R. Descartes)
O incluso por mucho menos ...
jgomez_fuente
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 7


Ver Perfil
« Respuesta #2 : 06/12/2017, 07:22:54 am »

UUfff demasiado complicado para implementarlo!!!

Muchísimas gracias.
Voy a crear otro hilo explicando con mas detalle de lo que quiero conseguir.
En línea
Ignacio Larrosa
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1.722


Ver Perfil WWW
« Respuesta #3 : 06/12/2017, 07:44:01 am »

UUfff demasiado complicado para implementarlo!!!

Muchísimas gracias.
Voy a crear otro hilo explicando con mas detalle de lo que quiero conseguir.

Bueno, no se si tanto ... De todas formas, habría más cosas a tener en cuenta, ,lo dicho en el otro mensaje es en el caso de que los centros no estén alineados.

Si los centros estuviesen alineados, los dos planos obtenidos serían paralelos. Si son distintos, no hay intersecciones triples. Si coinciden en uno solo, puede ocurrir que este plano sea exterior, tangente o secante simultáneamente a las tres esferas, con lo que la intersección sería inexistente, constaría de un solo punto (de tangencia de las tres esferas), o sería una circunferencia completa.

Por completar, si dos centros coinciden, están los tres alineados y nos remitimos al párrafo anterior. No habrá intersección triple a menos que aparte del centro coincida el radio, con lo que serían la misma esfera y tendríamos en realidad dos en vez de tres.

Finalmente, si los tres centros coinciden, no hay triple intersección si alguno de los radios es distinto, y la intersección es toda la única esfera si los tres radios son iguales, evidentemente.

Saludos,
En línea

Daría todo lo que se por la mitad de lo que ignoro (R. Descartes)
O incluso por mucho menos ...
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 1.856


Ver Perfil
« Respuesta #4 : 06/12/2017, 01:43:16 pm »

UUfff demasiado complicado para implementarlo!!!

   El "complicado de implementar" es muy relativo.
Si se utiliza un lenguaje general es obvio que si lleva cálculos matriciales se necesitará buscar librerías (o escribirlas) y su manipulación puede no ser muy amigable.
Pero si se utiliza un software orientado como Matlab, la resolución son unas pocas líneas.


Por ejemplo, este tipo de problemas se corresponde con la siguiente ecuación matricial:  [texx](X^tX)A + B\,X + C = 0[/texx]     

con  [texx]X,A,C[/texx]  matrices de Nx1 , [texx]X[/texx]  es la incógnita.  Notar que [texx]X^tX[/texx] es un escalar.
[texx]B[/texx]  matriz de NxN  invertible.

En Matlab se resuelve haciendo:

Código:
% Matrices con los datos. Les puse cualquier valor.
A=[1;1;1];               
B=[2 2 1;-1 2 -3; 1 -1 1];
C=[1;-3;-4];                 
%
% Resolución
X0 = -B\C ; M  =  B\A ;
t  = roots([M.'*M,1+2*X0.'*M,X0.'*X0]);
X  = X0*[1 1] + M*t.' 

Aqui devuelve [texx]X[/texx]  de Nx2 pues son las dos soluciones.

En línea
Ignacio Larrosa
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1.722


Ver Perfil WWW
« Respuesta #5 : 06/12/2017, 02:20:43 pm »

UUfff demasiado complicado para implementarlo!!!

   El "complicado de implementar" es muy relativo.
Si se utiliza un lenguaje general es obvio que si lleva cálculos matriciales se necesitará buscar librerías (o escribirlas) y su manipulación puede no ser muy amigable.
Pero si se utiliza un software orientado como Matlab, la resolución son unas pocas líneas.


Por ejemplo, este tipo de problemas se corresponde con la siguiente ecuación matricial:  [texx](X^tX)A + B\,X + C = 0[/texx]     

con  [texx]X,A,C[/texx]  matrices de Nx1 , [texx]X[/texx]  es la incógnita.  Notar que [texx]X^tX[/texx] es un escalar.
[texx]B[/texx]  matriz de NxN  invertible.

En Matlab se resuelve haciendo:

Código:
% Matrices con los datos. Les puse cualquier valor.
A=[1;1;1];               
B=[2 2 1;-1 2 -3; 1 -1 1];
C=[1;-3;-4];                 
%
% Resolución
X0 = -B\C ; M  =  B\A ;
t  = roots([M.'*M,1+2*X0.'*M,X0.'*X0]);
X  = X0*[1 1] + M*t.' 

Aqui devuelve [texx]X[/texx]  de Nx2 pues son las dos soluciones.



DERIVE también lo resuelve, salvo que hay que convencerle de que [texx]X^tX[/texx] es un escalar, no una matriz cuyo único elemento es una matriz de un solo elemento ... Pero vamos, se resuelve escribiendo directamente [texx](x^2 + y^2 + z^2)[/texx] en lugar de [texx](X^tX)A[/texx].

El resultado que me da con tus datos eso si, des un poco feo:

[texx]\left(x = - \displaystyle\frac{6\sqrt[ ]{1041}+230}{241} \wedge y = \displaystyle\frac{2\sqrt[ ]{1041}-325}{241} \wedge z =  \displaystyle\frac{9\sqrt[ ]{1041}-137}{482}\right) \vee \left(x = \displaystyle\frac{6\sqrt[ ]{1041}-230}{241} \wedge y = -\displaystyle\frac{2\sqrt[ ]{1041}+325}{241} \wedge z =  -\displaystyle\frac{9\sqrt[ ]{1041}+137}{482}\right)[/texx]

Eso si, simétricas respecto del punto [texx]\left(- \displaystyle\frac{230}{241}, -\displaystyle\frac{325}{241}, -\displaystyle\frac{137}{482}\right)[/texx].

Saludos,
En línea

Daría todo lo que se por la mitad de lo que ignoro (R. Descartes)
O incluso por mucho menos ...
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 1.856


Ver Perfil
« Respuesta #6 : 06/12/2017, 02:53:18 pm »

DERIVE también lo resuelve, salvo que hay que convencerle de que [texx]X^tX[/texx] es un escalar, no una matriz cuyo único elemento es una matriz de un solo elemento ... Pero vamos, se resuelve escribiendo directamente [texx](x^2 + y^2 + z^2)[/texx] en lugar de [texx](X^tX)A[/texx].

No se qué objeto tiene seguir considerando matriz a  [texx]X^tX[/texx],  en esos casos yo escribo  [texx]\left(X^tX\right)\downarrow 1\downarrow 1[/texx]  ( es (X`X) ctrl B 1 ctrl B 1)

Cita
El resultado que me da con tus datos eso si, des un poco feo:

Es que escribí cualquier valor,  hubiese quedado mas bonito elegir un [texx]C[/texx]  partiendo de un [texx]X[/texx] elegante   :sonrisa_amplia:.


Saludos.
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.1 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!