[matemática] \ grande {\ textf {TL-DR:}} [/ matemática] La diferencia es exactamente la gravedad creada por las ocho esquinas adicionales (principio de superposición). Esta respuesta muestra cómo calcular los campos de gravedad con convolución (basada en Fourier) e incluye un script de Matlab.
[math] \ large {\ messagesf {El principio de la suma}} [/ math]
- ¿Cuál es la razón detrás de la gravedad de la Tierra?
- Gravedad: ¿Cómo podemos determinar la velocidad de escape de la Tierra desde la superficie de la Tierra?
- ¿Cuál es la relación entre el campo magnético y la gravedad?
- ¿Viviríamos más si la Tierra tuviera un tirón gravitacional menor?
- ¿Experimentan los astronautas el miedo de caer hacia la tierra y arder nuevamente?
Receta para cálculos de gravedad:
1. Divida la distribución de masa en un trillón de elementos.
2. Calcule todos sus campos de gravedad individuales:
3. Agregar todos los campos.
[math] \ large {\ messagesf {La adición de elementos sabios es ineficiente}} [/ math]
Para solo cuatro elementos de masa, dentro de un cosmos [matemático] 4 \ veces 4 [/ matemático], ya tenemos que hacer muchos cálculos, ya que todos los elementos influyen en todos los demás elementos:
En la práctica, los cálculos requeridos [math] \ textf {zillion} ^ 2 [/ math] hacen que este enfoque basado en elementos no sea factible para escenarios realistas.
[matemática] \ grande {\ textf {adición basada en ondas (Fourier)}} [/ matemática]
En lugar de dividir la distribución de masa en elementos, es más eficiente descomponerla en patrones de onda:
Ilustración visual de que un cuadrado (imagen superior izquierda) se puede describir como una suma de ondas sinusoidales (fila central). La imagen debe leerse de la siguiente manera: El descriptor principal del cuadrado es la intensidad media. Restamos eso de la fila superior y lo agregamos a la fila inferior. Lo que queda es la segunda figura en la fila superior (rojo = masa ‘negativa’). El siguiente descriptor más importante es la onda vertical (banda azul horizontal). Eliminamos eso de la fila superior y lo agregamos a la fila inferior. Para más iteraciones, vemos que el residuo se vuelve cada vez más pequeño (fila superior), mientras que la fila inferior muestra que con un par de ondas, ya podemos describir razonablemente la forma gruesa del cuadrado.
La ventaja de dicha onda de masa (matemática) es que su efecto de gravedad tiene exactamente la misma forma de onda, solo que con otra fuerza (teorema de convolución). Y el factor de conversión de fuerza puede derivarse de la función de gravedad.
[matemáticas] \ large {\ textf {La transformación de Fourier}} [/ matemáticas]
La descripción de una distribución de masa como una suma de ondas de masa se denomina Transformada de Fourier ( explicación mecánica ), que puede descomponer cualquier distribución espacial en un conjunto de ondas sinusoidales:
(Nota: en los algoritmos Fast Fourier, estas ondas se calculan todas juntas, en un esquema eficiente)
[matemáticas] \ large {\ textf {receta basada en ondas}} [/ matemáticas]
Ahora podemos usar esta Transformada de Fourier para hacer la ‘convolución’ basada en Fourier, que consta de cuatro pasos:
1. Descomponga la [matemática] \ color {azul} {\ Textosf {distribución de masa}} [/ matemática] en [matemática] \ color {azul} {\ Textosf {ondas de masa}} [/ matemática] con la Transformada rápida de Fourier .
2. Del mismo modo, descomponga el [math] \ color {DarkGreen} {\ messagesf {función de gravedad}} [/ math] en [math] \ color {DarkGreen} {\ messagesf {ondas de gravedad}} [/ math]
3. Multiplique cada [math] \ color {blue} {\ textsf {mass wave}} [/ math] con su correspondiente [math] \ color {DarkGreen} {\ messagesf {gravity wave}} [/ math] (NB: cada par comparte una combinación única de frecuencia y dirección).
4. Las [matemáticas] \ color {rojo} {\ textasf {ondas de gravedad de la tierra}} resultantes [/ matemáticas] ahora se pueden recomponer en [matemáticas] \ color {rojo} {\ textosf {campo de gravedad final}} [/ matemática], utilizando la Transformada inversa de Fourier.
[matemática] \ grande {\ textf {Resultados:}} [/ matemática]
Debajo de los resultados para una tierra esférica y cúbica. Si lo hacemos sin Fourier (por lo tanto, en cuanto a elementos), procesar un objeto pequeño [matemático] 64 ^ 3 [/ matemático] ya lleva 30 segundos:
Detalle del campo de vector de gravedad externo (negro) e interno (azul) de una tierra esférica (izquierda) y cúbica (derecha).
Sin embargo, con Fourier, se procesó una cuadrícula de alta resolución [matemática] 320 ^ 3 [/ matemática] en segundos:
[matemáticas] \ large {\ textf {Conclusión}} [/ matemáticas]
Si bien los tiempos de cálculo en cuanto a elementos aumentan cuadráticamente con el número total de elementos, la convolución basada en Fourier se escala un poco más que linealmente con los elementos (en realidad [matemática] N \ log (N) [/ matemática]), lo que la hace adecuada para el estado cálculos de última generación en cosmología, imagen médica, geofísica, …
[matemática] \ grande {\ textf {PS}} [/ matemática]
Esta respuesta solo maneja el cálculo de la gravedad. Para una respuesta más completa sobre la tierra en forma cúbica, recomiendo la respuesta de Jesse Berezovsky
[math] \ large {\ messagesf {Matlab script}} [/ math]
% Cálculo del campo de gravedad 3D para tierras con formas arbitrarias.
%: Se supone que es un modelo de elementos finitos.
%: El cálculo se realiza mediante convolución basada en Fourier.
% Autor: [correo electrónico protegido] (trabajo), 2 de enero de 2016
%%%%%%%%%%%%%%%%%%
% de elementos finitos en cada dimensión:
FOV = 2 ^ 5
% del tamaño relativo de la tierra en el campo de visión:
fracción = 0.4; % NB: fracción <0.5 para reducir el inflado de Fourier
esferaDiámetro = fracción * FOV;
lado cuadrado = esfera Diámetro / (8 / (4 * pi / 3)) ^ (1/3); % de la misma masa que la esfera
% inicializar cuadrícula discreta:
[x, y, z] = malla de malla (-FOV / 2: FOV / 2-1);
r = sqrt (x. ^ 2 + y. ^ 2 + z. ^ 2) + eps;
% De núcleos de convolución:
% para el componente x
xKernel = -x./r.^3;
% de conversión al dominio de Fourier:
FT_xKernel = fftn (ifftshift (xKernel));
% usa x-kernel this para obtener y- y z-kernel:
FT_yKernel = permute (FT_xKernel, [2,1,3]);
% FT_zKernel = permute (FT_xKernel, [1,3,2]);
% Inicializar lienzo para mostrar:
xFieldExt_2D = [];
xFieldInt_2D = [];
yFieldExt_2D = [];
yFieldInt_2D = [];
% Para un mundo esférico y cúbico:
para shapeNumber = 1: 2
% iniciar mundo:
massModel = ones (tamaño (x));
si shapeNumber == 1
% esfera: forma radial:
massModel (r> sphereDiameter / 2) = 0;
más
% cubo: cultivo en tres dimensiones:
massModel (abs (x)> squareSide / 2) = 0;
massModel (abs (y)> squareSide / 2) = 0;
massModel (abs (z)> squareSide / 2) = 0;
final
% de visualización de la forma renderizada en 3D:
Figura 1);
subtrama (1,2, shapeNumber);
p2 = parche (isosuperficie (massModel, .5),…
‘FaceColor’, [1/2, 1/2, 1], ‘EdgeColor’, ‘none’);
isonormales (massModel, p2)
vista (3); daspect ([1 1 1]); eje igual;
camlight camlight (-80, -80); iluminación phong;
eje (FOV / 2 + FOV / 2 * [- 1 1 -1 1 -1 1]);
% Transformada de Fourier del modelo de masa:
FT_massModel = fftn (massModel);
% De convolución basada en Fourier (multiplicar componentes de Fourier)
xField = ifftn (FT_massModel. * FT_xKernel);
yField = ifftn (FT_massModel. * FT_yKernel);
% zField = ifftn (FT_massModel. * FT_zKernel);
% separado en campo exterior e interior:
xFieldExt = xField. * (1 – massModel);
xFieldInt = xField. * massModel;
yFieldExt = yField. * (1 – massModel);
yFieldInt = yField. * massModel;
% zFieldExt = zField. * (1 – massModel);
% zFieldInt = zField. * massModel;
% de extracción del medio corte para visualización:
xFieldExt_2D = [xFieldExt_2D xFieldExt (:,:, FOV / 2 + 1)];
xFieldInt_2D = [xFieldInt_2D xFieldInt (:,:, FOV / 2 + 1)];
yFieldExt_2D = [yFieldExt_2D yFieldExt (:,:, FOV / 2 + 1)];
yFieldInt_2D = [yFieldInt_2D yFieldInt (:,:, FOV / 2 + 1)];
final
% mostrar campos de vectores:
figura;
carcaj (xFieldExt_2D, yFieldExt_2D, ‘k’); eje igual; Espere;
carcaj (xFieldInt_2D, yFieldInt_2D, ‘Color’, [1/2, 1/2, 1]); eje igual;