Me baso en la Geometría Aritmética de Interuniverso (IUT) propuesta por Shinichi Mochizuki.
Parecen matemáticas de ciencia ficción, yo sólo he hecho (con ayuda de la IA ) un pequeño modelado para sumas.
1. El Centro de Gravedad (Equilibrio)
El script fija un punto de referencia, por ejemplo (22, 128). Para el programa, ese lugar es el "paraíso matemático" donde la suma es perfecta (\(C=150\)). Todo lo que ocurre en el gráfico se mide como una distancia o desviación respecto a este punto de paz.
2. Oscilación Acoplada (El movimiento)
En lugar de que los números \(A\) y \(B\) cambien al azar, el script usa cosenos.Lo innovador es que la velocidad de \(A\) depende de cuánto vale \(B\) en ese momento, y viceversa.Esto crea un vínculo entre ellos: no pueden moverse de forma independiente, están "atados" por una danza matemática que genera esos bucles (órbitas).
3. El Campo Diferencial (La "fricción" del fondo)
El fondo no es solo un adorno. El script calcula en cada milímetro del mapa cuánto se está "retorciendo" la suma.Usa el concepto de Gradiente: mide la dirección y la fuerza con la que la suma se aleja del ideal.Las líneas de flujo (streamslice) muestran hacia dónde "empuja" la matemática a los números si intentan escapar.
4. Geometría de la Proporción
El script no solo mira si \(A+B=C\). También mira la proporción (\(A/B\)).Esto añade una capa de complejidad: la tensión es mayor si un número crece mucho y el otro se queda pequeño, incluso si la suma no cambia tanto. Eso es lo que le da esa forma orgánica y "retorcida" al mapa de fondo.
Pongo dos ejemplos de visualización:


Código del script:
% 1. Parámetros base
a_base = 2332; b_base = 901; c_base = a_base + b_base;
pasos = 4000; dt = 0.05;
% 2. Generar trayectoria (Doble coseno para simetría rígida)
a_cam = zeros(1, pasos); b_cam = zeros(1, pasos);
a_cam(1) = a_base; b_cam(1) = b_base;
for t = 1:pasos-1
f_a = b_cam(t) / a_base;
f_b = a_cam(t) / b_base;
a_cam(t+1) = a_cam(t) + cos(t*dt*f_a) * 0.15;
b_cam(t+1) = b_cam(t) + cos(t*dt*f_b) * 0.15;
end
% 3. Ajustar el fondo al tamaño total de la órbita
margen = 5;
[A, B] = meshgrid(linspace(min(a_cam)-margen, max(a_cam)+margen, 150), ...
linspace(min(b_cam)-margen, max(b_cam)+margen, 150));
% Campo Diferencial
Z = (A + B - c_base).^2 .* cos(A./B);
[dZdA, dZdB] = gradient(Z);
% 4. Visualización de alto contraste
figure('Color', 'k');
% Mapa de tensión de fondo
contourf(A, B, sqrt(dZdA.^2 + dZdB.^2), 25, 'LineColor', 'none', 'FaceAlpha', 0.5);
hold on;
% Líneas de flujo (streamslice)
streamslice(A, B, dZdA, dZdB, 1.2);
colormap(bone);
h = colorbar; ylabel(h, 'Torsión Diferencial', 'Color', 'w'); set(h, 'Color', 'w');
% ÓRBITA BLANCA SÓLIDA (Máxima distinción)
plot(a_cam, b_cam, 'w', 'LineWidth', 1.3);
% Centro amarillo (Punto de equilibrio)
plot(a_base, b_base, 'yo', 'MarkerSize', 10, 'MarkerFaceColor', 'y');
% Estética
title(sprintf('Geometría Diferencial: Centro (%g, %g) | C = %g', a_base, b_base, c_base), 'Color', 'w');
xlabel('Eje A', 'Color', 'w'); ylabel('Eje B', 'Color', 'w');
set(gca, 'Color', 'k', 'XColor', 'w', 'YColor', 'w');
axis tight; axis square;
grid on; set(gca, 'GridColor', [0.2 0.2 0.2]);