@jjlmoya/utils-science 1.32.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/entries.ts +5 -1
  4. package/src/index.ts +2 -0
  5. package/src/tests/locale_completeness.test.ts +2 -2
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/natural-selection-drift/component.astro +37 -6
  8. package/src/tool/natural-selection-drift/natural-selection-drift.css +134 -0
  9. package/src/tool/planet-atmosphere-survival/bibliography.astro +14 -0
  10. package/src/tool/planet-atmosphere-survival/bibliography.ts +16 -0
  11. package/src/tool/planet-atmosphere-survival/component.astro +404 -0
  12. package/src/tool/planet-atmosphere-survival/entry.ts +26 -0
  13. package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -0
  14. package/src/tool/planet-atmosphere-survival/i18n/en.ts +255 -0
  15. package/src/tool/planet-atmosphere-survival/i18n/es.ts +255 -0
  16. package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -0
  17. package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -0
  18. package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -0
  19. package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -0
  20. package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -0
  21. package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -0
  22. package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -0
  23. package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -0
  24. package/src/tool/planet-atmosphere-survival/i18n/ru.ts +255 -0
  25. package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -0
  26. package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -0
  27. package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -0
  28. package/src/tool/planet-atmosphere-survival/index.ts +11 -0
  29. package/src/tool/planet-atmosphere-survival/logic.ts +201 -0
  30. package/src/tool/planet-atmosphere-survival/planet-atmosphere-survival-calculator.css +494 -0
  31. package/src/tool/planet-atmosphere-survival/seo.astro +15 -0
  32. package/src/tool/three-body-problem/app.ts +274 -0
  33. package/src/tool/three-body-problem/bibliography.astro +14 -0
  34. package/src/tool/three-body-problem/bibliography.ts +16 -0
  35. package/src/tool/three-body-problem/component.astro +70 -0
  36. package/src/tool/three-body-problem/entry.ts +26 -0
  37. package/src/tool/three-body-problem/i18n/de.ts +162 -0
  38. package/src/tool/three-body-problem/i18n/en.ts +162 -0
  39. package/src/tool/three-body-problem/i18n/es.ts +162 -0
  40. package/src/tool/three-body-problem/i18n/fr.ts +162 -0
  41. package/src/tool/three-body-problem/i18n/id.ts +162 -0
  42. package/src/tool/three-body-problem/i18n/it.ts +162 -0
  43. package/src/tool/three-body-problem/i18n/ja.ts +162 -0
  44. package/src/tool/three-body-problem/i18n/ko.ts +162 -0
  45. package/src/tool/three-body-problem/i18n/nl.ts +162 -0
  46. package/src/tool/three-body-problem/i18n/pl.ts +162 -0
  47. package/src/tool/three-body-problem/i18n/pt.ts +162 -0
  48. package/src/tool/three-body-problem/i18n/ru.ts +162 -0
  49. package/src/tool/three-body-problem/i18n/sv.ts +162 -0
  50. package/src/tool/three-body-problem/i18n/tr.ts +162 -0
  51. package/src/tool/three-body-problem/i18n/zh.ts +162 -0
  52. package/src/tool/three-body-problem/index.ts +11 -0
  53. package/src/tool/three-body-problem/logic/ThreeBodyEngine.ts +179 -0
  54. package/src/tool/three-body-problem/seo.astro +15 -0
  55. package/src/tool/three-body-problem/three-body-problem-simulator.css +503 -0
  56. package/src/tools.ts +4 -0
@@ -0,0 +1,162 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'three-body-problem-simulator';
5
+ const title = 'Three Body Problem Simulator';
6
+ const description = 'Simulate three gravitational bodies in a two-dimensional plane with editable masses, velocity vectors, trails, and stable or chaotic presets.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Choose an orbital preset',
11
+ text: 'Start with the figure-eight orbit for a stable benchmark, the Lagrange triangle for a rotating equilibrium, or the slingshot preset for a visibly chaotic encounter.',
12
+ },
13
+ {
14
+ name: 'Adjust masses and velocity vectors',
15
+ text: 'Use the sliders for each body to change mass and initial velocity components. Small changes can preserve a pattern, deform it, or destroy it entirely.',
16
+ },
17
+ {
18
+ name: 'Read the diagnostics',
19
+ text: 'Watch total energy, nearest and farthest separation, and center of mass to understand whether the numerical orbit remains bounded or is drifting apart.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'What is the three-body problem?',
26
+ answer: 'The three-body problem asks how three masses move when each body gravitationally attracts the other two. Unlike the two-body problem, there is no general closed-form equation that solves every possible configuration, so most practical cases are explored with numerical integration.',
27
+ },
28
+ {
29
+ question: 'Why are three-body orbits unstable?',
30
+ answer: 'Many three-body systems are sensitive to initial conditions. A tiny change in velocity, position, or mass changes the timing of close encounters, and those encounters can exchange energy dramatically. The result is a system that may remain bounded for a while and then suddenly eject one body.',
31
+ },
32
+ {
33
+ question: 'What does the figure-eight preset show?',
34
+ answer: 'The figure-eight preset is a famous periodic solution for three equal masses. Each body follows the same path with a phase offset, demonstrating that the three-body problem can contain elegant stable islands inside a much larger chaotic landscape.',
35
+ },
36
+ {
37
+ question: 'Is this a physically exact astronomy simulator?',
38
+ answer: 'This tool uses a softened Newtonian model and a symplectic-style velocity Verlet step so the motion feels faithful and stable for learning. It is designed for interactive exploration rather than high-precision ephemeris prediction.',
39
+ },
40
+ {
41
+ question: 'How should I interpret total energy?',
42
+ answer: 'Negative total energy usually indicates a bound system, while energy closer to zero can make escape easier. In a numerical simulation, large energy drift also warns that the time step or encounter geometry is stressing the integrator.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Gravitational chaos lab',
53
+ canvasLabel: 'Interactive two-dimensional three-body orbit canvas',
54
+ presetsLabel: 'Orbital presets',
55
+ figureEightPreset: 'Figure eight',
56
+ lagrangePreset: 'Lagrange triangle',
57
+ slingshotPreset: 'Slingshot',
58
+ pauseButton: 'Pause',
59
+ playButton: 'Play',
60
+ resetButton: 'Reset',
61
+ speedLabel: 'Simulation speed',
62
+ trailLabel: 'Trail length',
63
+ massLabel: 'Mass',
64
+ velocityXLabel: 'Velocity X',
65
+ velocityYLabel: 'Velocity Y',
66
+ energyLabel: 'Total energy',
67
+ separationLabel: 'Separation range',
68
+ centerMassLabel: 'Center of mass',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Interactive Three-Body Problem Simulator for Orbital Chaos',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'The three-body problem is one of the clearest demonstrations that simple laws can produce complicated motion. Newtonian gravity gives a compact force rule, but the moment a third massive body joins the system, each orbit continuously reshapes the other two. This simulator lets you experiment with that instability directly: choose a known configuration, adjust masses and velocity vectors, and watch whether the bodies form a repeating orbit, a rotating triangle, or a chaotic scattering event.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'What the Presets Demonstrate',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Preset', 'Physical idea', 'What to look for'],
88
+ rows: [
89
+ ['<strong>Figure eight</strong>', 'A periodic equal-mass solution where all three bodies share the same loop.', 'The orbit remains organized only when symmetry and velocity balance are carefully preserved.'],
90
+ ['<strong>Lagrange triangle</strong>', 'Three bodies occupy an equilateral triangle that rotates around the center of mass.', 'Mass balance and tangential velocity keep the triangle from collapsing inward.'],
91
+ ['<strong>Slingshot</strong>', 'A close encounter transfers energy between bodies.', 'One body can gain speed while another becomes more tightly bound, revealing why chaotic ejections occur.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Why Small Changes Matter',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'In a two-body orbit, the center of mass and orbital ellipse provide a stable geometric picture. In a three-body system, close passes act like gravitational negotiations: a body can borrow orbital energy, change direction sharply, or convert an orderly loop into a scattering event. That sensitivity is why real astrophysical systems such as triple stars, planet-moon encounters, and early solar-system planetesimals often require numerical integration rather than a single neat formula.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'How to Use the Diagnostics',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Total energy</strong> helps you judge whether the system is bound and whether the numerical integration is staying stable.',
112
+ '<strong>Separation range</strong> shows the closest and farthest pair distances, making near-collisions and ejections easy to spot.',
113
+ '<strong>Center of mass</strong> should remain relatively steady when the initial momentum is balanced; drift suggests an intentionally asymmetric setup or a changed velocity vector.',
114
+ '<strong>Trail length</strong> reveals long-term structure: short trails emphasize the current interaction, while long trails expose repeating loops and slow orbital precession.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Numerical Model Used in the Tool',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'The simulator uses Newtonian inverse-square attraction with a small softening term that prevents visual blow-ups during extremely close passes. Motion is advanced with a velocity Verlet style step, a common choice for orbital demonstrations because it handles energy behavior better than a simple Euler update. The result is a responsive educational model that makes the qualitative behavior of the three-body problem visible without pretending to replace professional celestial mechanics software.',
125
+ },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'SoftwareApplication',
134
+ name: title,
135
+ description,
136
+ applicationCategory: 'ScientificApplication',
137
+ operatingSystem: 'Any',
138
+ },
139
+ {
140
+ '@context': 'https://schema.org',
141
+ '@type': 'FAQPage',
142
+ mainEntity: faq.map((item) => ({
143
+ '@type': 'Question',
144
+ name: item.question,
145
+ acceptedAnswer: {
146
+ '@type': 'Answer',
147
+ text: item.answer,
148
+ },
149
+ })),
150
+ },
151
+ {
152
+ '@context': 'https://schema.org',
153
+ '@type': 'HowTo',
154
+ name: title,
155
+ step: howTo.map((step) => ({
156
+ '@type': 'HowToStep',
157
+ name: step.name,
158
+ text: step.text,
159
+ })),
160
+ },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'simulador-problema-tres-cuerpos';
5
+ const title = 'Simulador del Problema de los Tres Cuerpos';
6
+ const description = 'Simula tres cuerpos gravitacionales en un plano bidimensional con masas editables, vectores de velocidad, estelas y ajustes preestablecidos estables o caóticos.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Elige un ajuste orbital preestablecido',
11
+ text: 'Empieza con la órbita en forma de ocho para una referencia estable, el triángulo de Lagrange para un equilibrio rotatorio o el ajuste de honda gravitatoria para un encuentro visiblemente caótico.',
12
+ },
13
+ {
14
+ name: 'Ajusta las masas y los vectores de velocidad',
15
+ text: 'Usa los deslizadores de cada cuerpo para cambiar la masa y las componentes iniciales de la velocidad. Cambios pequeños pueden conservar un patrón, deformarlo o destruirlo por completo.',
16
+ },
17
+ {
18
+ name: 'Lee los diagnósticos',
19
+ text: 'Vigila la energía total, la separación máxima y mínima, y el centro de masas para saber si la órbita numérica sigue siendo estable o se está desintegrando.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: '¿Qué es el problema de los tres cuerpos?',
26
+ answer: 'El problema de los tres cuerpos pregunta cómo se mueven tres masas cuando cada una atrae gravitacionalmente a las otras dos. A diferencia del problema de dos cuerpos, no existe una ecuación general de forma cerrada que resuelva toda configuración posible, por lo que la mayoría de los casos prácticos se exploran con integración numérica.',
27
+ },
28
+ {
29
+ question: '¿Por qué son inestables las órbitas de tres cuerpos?',
30
+ answer: 'Muchos sistemas de tres cuerpos son sensibles a las condiciones iniciales. Un cambio mínimo en la velocidad, la posición o la masa altera el momento de los encuentros cercanos, y esos encuentros pueden intercambiar energía de forma drástica. El resultado es un sistema que puede permanecer estable un tiempo y luego expulsar de repente a uno de los cuerpos.',
31
+ },
32
+ {
33
+ question: '¿Qué muestra el ajuste preestablecido de la órbita en forma de ocho?',
34
+ answer: 'El ajuste en forma de ocho es una famosa solución periódica para tres masas iguales. Cada cuerpo sigue la misma trayectoria con un desfase, demostrando que el problema de los tres cuerpos puede contener islas estables y elegantes dentro de un panorama mucho más caótico.',
35
+ },
36
+ {
37
+ question: '¿Es este un simulador astronómico físicamente exacto?',
38
+ answer: 'Esta herramienta usa un modelo newtoniano suavizado y un paso tipo Verlet de velocidad simpléctico para que el movimiento sea fiel y estable para el aprendizaje. Está diseñada para exploración interactiva, no para predicción de alta precisión de efemérides.',
39
+ },
40
+ {
41
+ question: '¿Cómo debo interpretar la energía total?',
42
+ answer: 'La energía total negativa suele indicar un sistema ligado, mientras que una energía cercana a cero puede facilitar la fuga. En una simulación numérica, una deriva energética grande también advierte que el paso temporal o la geometría del encuentro están forzando al integrador.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratorio de caos gravitacional',
53
+ canvasLabel: 'Lienzo interactivo bidimensional de órbita de tres cuerpos',
54
+ presetsLabel: 'Ajustes orbitales preestablecidos',
55
+ figureEightPreset: 'Figura en ocho',
56
+ lagrangePreset: 'Triángulo de Lagrange',
57
+ slingshotPreset: 'Honda gravitatoria',
58
+ pauseButton: 'Pausa',
59
+ playButton: 'Reproducir',
60
+ resetButton: 'Reiniciar',
61
+ speedLabel: 'Velocidad de simulación',
62
+ trailLabel: 'Longitud de estela',
63
+ massLabel: 'Masa',
64
+ velocityXLabel: 'Velocidad X',
65
+ velocityYLabel: 'Velocidad Y',
66
+ energyLabel: 'Energía total',
67
+ separationLabel: 'Rango de separación',
68
+ centerMassLabel: 'Centro de masas',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Simulador interactivo del problema de los tres cuerpos para caos orbital',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'El problema de los tres cuerpos es una de las demostraciones más claras de que leyes simples pueden producir movimiento complicado. La gravedad newtoniana da una regla de fuerza compacta, pero en cuanto un tercer cuerpo masivo se une al sistema, cada órbita remodela continuamente a las otras dos. Este simulador te permite experimentar directamente con esa inestabilidad: elige una configuración conocida, ajusta masas y vectores de velocidad, y observa si los cuerpos forman una órbita repetitiva, un triángulo rotatorio o un evento de dispersión caótica.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Qué demuestran los ajustes preestablecidos',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Ajuste', 'Idea física', 'Qué observar'],
88
+ rows: [
89
+ ['<strong>Figura en ocho</strong>', 'Una solución periódica de masas iguales donde los tres cuerpos comparten el mismo bucle.', 'La órbita se mantiene organizada solo cuando la simetría y el equilibrio de velocidades se conservan cuidadosamente.'],
90
+ ['<strong>Triángulo de Lagrange</strong>', 'Tres cuerpos ocupan un triángulo equilátero que gira alrededor del centro de masas.', 'El equilibrio de masas y la velocidad tangencial evitan que el triángulo colapse hacia adentro.'],
91
+ ['<strong>Honda gravitatoria</strong>', 'Un encuentro cercano transfiere energía entre los cuerpos.', 'Un cuerpo puede ganar velocidad mientras otro se vuelve más ligado, revelando por qué ocurren las eyecciones caóticas.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Por qué los pequeños cambios importan',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'En una órbita de dos cuerpos, el centro de masas y la elipse orbital ofrecen una imagen geométrica estable. En un sistema de tres cuerpos, los pasos cercanos actúan como negociaciones gravitacionales: un cuerpo puede tomar prestada energía orbital, cambiar de dirección bruscamente o convertir un bucle ordenado en un evento de dispersión. Esa sensibilidad es la razón por la que los sistemas astrofísicos reales, como las estrellas triples, los encuentros planeta-luna y los planetesimales del sistema solar temprano, a menudo requieren integración numérica en lugar de una única fórmula simple.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Cómo usar los diagnósticos',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Energía total</strong> te ayuda a juzgar si el sistema está ligado y si la integración numérica se mantiene estable.',
112
+ '<strong>Rango de separación</strong> muestra las distancias de par más cercanas y más lejanas, haciendo fáciles de detectar las casi colisiones y las eyecciones.',
113
+ '<strong>Centro de masas</strong> debería permanecer relativamente estable cuando el momento inicial está equilibrado; la deriva sugiere una configuración intencionalmente asimétrica o un vector de velocidad alterado.',
114
+ '<strong>Longitud de estela</strong> revela la estructura a largo plazo: las estelas cortas enfatizan la interacción actual, mientras que las largas exponen bucles repetitivos y precesión orbital lenta.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Modelo numérico usado en la herramienta',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'El simulador usa la atracción newtoniana de cuadrado inverso con un pequeño término de suavizado que evita explosiones visuales durante pasos extremadamente cercanos. El movimiento avanza con un paso tipo Verlet de velocidad, una elección común para demostraciones orbitales porque maneja el comportamiento energético mejor que una simple actualización de Euler. El resultado es un modelo educativo receptivo que hace visible el comportamiento cualitativo del problema de los tres cuerpos sin pretender reemplazar el software profesional de mecánica celeste.',
125
+ },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'SoftwareApplication',
134
+ name: title,
135
+ description,
136
+ applicationCategory: 'ScientificApplication',
137
+ operatingSystem: 'Any',
138
+ },
139
+ {
140
+ '@context': 'https://schema.org',
141
+ '@type': 'FAQPage',
142
+ mainEntity: faq.map((item) => ({
143
+ '@type': 'Question',
144
+ name: item.question,
145
+ acceptedAnswer: {
146
+ '@type': 'Answer',
147
+ text: item.answer,
148
+ },
149
+ })),
150
+ },
151
+ {
152
+ '@context': 'https://schema.org',
153
+ '@type': 'HowTo',
154
+ name: title,
155
+ step: howTo.map((step) => ({
156
+ '@type': 'HowToStep',
157
+ name: step.name,
158
+ text: step.text,
159
+ })),
160
+ },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'simulateur-probleme-trois-corps';
5
+ const title = 'Simulateur du Problème à Trois Corps';
6
+ const description = 'Simulez trois corps gravitationnels dans un plan bidimensionnel avec masses modifiables, vecteurs de vitesse, traînées et préréglages stables ou chaotiques.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Choisissez un préréglage orbital',
11
+ text: 'Commencez avec l\'orbite en huit pour une référence stable, le triangle de Lagrange pour un équilibre rotatif, ou le préréglage de fronde pour une rencontre visiblement chaotique.',
12
+ },
13
+ {
14
+ name: 'Ajustez les masses et les vecteurs de vitesse',
15
+ text: 'Utilisez les curseurs de chaque corps pour modifier la masse et les composantes initiales de la vitesse. De petits changements peuvent préserver un motif, le déformer ou le détruire complètement.',
16
+ },
17
+ {
18
+ name: 'Consultez les diagnostics',
19
+ text: 'Surveillez l\'énergie totale, la séparation la plus proche et la plus lointaine, et le centre de masse pour comprendre si l\'orbite numérique reste bornée ou si elle se désagrège.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Qu\'est-ce que le problème à trois corps ?',
26
+ answer: 'Le problème à trois corps cherche comment trois masses se déplacent lorsque chaque corps attire gravitationnellement les deux autres. Contrairement au problème à deux corps, il n\'existe pas d\'équation générale fermée qui résolve toutes les configurations possibles, c\'est pourquoi la plupart des cas pratiques sont explorés par intégration numérique.',
27
+ },
28
+ {
29
+ question: 'Pourquoi les orbites à trois corps sont-elles instables ?',
30
+ answer: 'De nombreux systèmes à trois corps sont sensibles aux conditions initiales. Un infime changement de vitesse, de position ou de masse modifie le moment des rencontres rapprochées, et ces rencontres peuvent échanger de l\'énergie de manière dramatique. Il en résulte un système qui peut rester borné un certain temps puis éjecter soudainement un corps.',
31
+ },
32
+ {
33
+ question: 'Que montre le préréglage en huit ?',
34
+ answer: 'Le préréglage en huit est une célèbre solution périodique pour trois masses égales. Chaque corps suit la même trajectoire avec un décalage de phase, démontrant que le problème à trois corps peut contenir des îlots stables élégants au sein d\'un paysage chaotique beaucoup plus vaste.',
35
+ },
36
+ {
37
+ question: 'Ce simulateur est-il physiquement exact du point de vue astronomique ?',
38
+ answer: 'Cet outil utilise un modèle newtonien adouci et un pas de type Verlet de vitesse symplectique pour que le mouvement soit fidèle et stable pour l\'apprentissage. Il est conçu pour l\'exploration interactive plutôt que pour la prédiction d\'éphémérides de haute précision.',
39
+ },
40
+ {
41
+ question: 'Comment interpréter l\'énergie totale ?',
42
+ answer: 'Une énergie totale négative indique généralement un système lié, tandis qu\'une énergie proche de zéro peut faciliter l\'échappement. Dans une simulation numérique, une dérive énergétique importante avertit également que le pas de temps ou la géométrie de la rencontre sollicite trop l\'intégrateur.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratoire de chaos gravitationnel',
53
+ canvasLabel: 'Canevas interactif bidimensionnel d\'orbite à trois corps',
54
+ presetsLabel: 'Préréglages orbitaux',
55
+ figureEightPreset: 'Huit',
56
+ lagrangePreset: 'Triangle de Lagrange',
57
+ slingshotPreset: 'Fronde',
58
+ pauseButton: 'Pause',
59
+ playButton: 'Lecture',
60
+ resetButton: 'Réinitialiser',
61
+ speedLabel: 'Vitesse de simulation',
62
+ trailLabel: 'Longueur de traînée',
63
+ massLabel: 'Masse',
64
+ velocityXLabel: 'Vitesse X',
65
+ velocityYLabel: 'Vitesse Y',
66
+ energyLabel: 'Énergie totale',
67
+ separationLabel: 'Intervalle de séparation',
68
+ centerMassLabel: 'Centre de masse',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Simulateur interactif du problème à trois corps pour le chaos orbital',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Le problème à trois corps est l\'une des démonstrations les plus claires que des lois simples peuvent produire un mouvement compliqué. La gravité newtonienne donne une règle de force compacte, mais dès qu\'un troisième corps massif rejoint le système, chaque orbite remodèle continuellement les deux autres. Ce simulateur vous permet d\'expérimenter directement cette instabilité: choisissez une configuration connue, ajustez les masses et les vecteurs de vitesse, et observez si les corps forment une orbite répétitive, un triangle rotatif ou un événement de dispersion chaotique.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Ce que démontrent les préréglages',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Préréglage', 'Idée physique', 'Quoi observer'],
88
+ rows: [
89
+ ['<strong>Huit</strong>', 'Une solution périodique à masses égales où les trois corps partagent la même boucle.', 'L\'orbite reste organisée seulement lorsque la symétrie et l\'équilibre des vitesses sont soigneusement préservés.'],
90
+ ['<strong>Triangle de Lagrange</strong>', 'Trois corps occupent un triangle équilatéral qui tourne autour du centre de masse.', 'L\'équilibre des masses et la vitesse tangentielle empêchent le triangle de s\'effondrer vers l\'intérieur.'],
91
+ ['<strong>Fronde</strong>', 'Une rencontre rapprochée transfère de l\'énergie entre les corps.', 'Un corps peut gagner en vitesse tandis qu\'un autre devient plus lié, révélant pourquoi les éjections chaotiques se produisent.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Pourquoi les petits changements comptent',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Dans une orbite à deux corps, le centre de masse et l\'ellipse orbitale offrent une image géométrique stable. Dans un système à trois corps, les passages rapprochés agissent comme des négociations gravitationnelles: un corps peut emprunter de l\'énergie orbitale, changer brusquement de direction, ou convertir une boucle ordonnée en un événement de dispersion. Cette sensibilité explique pourquoi les systèmes astrophysiques réels tels que les étoiles triples, les rencontres planète-lune et les planétésimaux du système solaire primitif nécessitent souvent une intégration numérique plutôt qu\'une formule unique et simple.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Comment utiliser les diagnostics',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Énergie totale</strong> vous aide à juger si le système est lié et si l\'intégration numérique reste stable.',
112
+ '<strong>Intervalle de séparation</strong> montre les distances de paire les plus proches et les plus lointaines, rendant les quasi-collisions et les éjections faciles à repérer.',
113
+ '<strong>Centre de masse</strong> devrait rester relativement stable lorsque l\'impulsion initiale est équilibrée ; une dérive suggère une configuration intentionnellement asymétrique ou un vecteur de vitesse modifié.',
114
+ '<strong>Longueur de traînée</strong> révèle la structure à long terme: les traînées courtes mettent l\'accent sur l\'interaction en cours, tandis que les longues exposent les boucles répétitives et la précession orbitale lente.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Modèle numérique utilisé dans l\'outil',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Le simulateur utilise l\'attraction newtonienne en carré inverse avec un petit terme d\'adoucissement qui évite les explosions visuelles lors de passages extrêmement rapprochés. Le mouvement est avancé avec un pas de type Verlet de vitesse, un choix courant pour les démonstrations orbitales car il gère le comportement énergétique mieux qu\'une simple mise à jour d\'Euler. Le résultat est un modèle éducatif réactif qui rend visible le comportement qualitatif du problème à trois corps sans prétendre remplacer les logiciels professionnels de mécanique céleste.',
125
+ },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'SoftwareApplication',
134
+ name: title,
135
+ description,
136
+ applicationCategory: 'ScientificApplication',
137
+ operatingSystem: 'Any',
138
+ },
139
+ {
140
+ '@context': 'https://schema.org',
141
+ '@type': 'FAQPage',
142
+ mainEntity: faq.map((item) => ({
143
+ '@type': 'Question',
144
+ name: item.question,
145
+ acceptedAnswer: {
146
+ '@type': 'Answer',
147
+ text: item.answer,
148
+ },
149
+ })),
150
+ },
151
+ {
152
+ '@context': 'https://schema.org',
153
+ '@type': 'HowTo',
154
+ name: title,
155
+ step: howTo.map((step) => ({
156
+ '@type': 'HowToStep',
157
+ name: step.name,
158
+ text: step.text,
159
+ })),
160
+ },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'simulator-masalah-tiga-benda';
5
+ const title = 'Simulator Masalah Tiga Benda';
6
+ const description = 'Simulasikan tiga benda gravitasi dalam bidang dua dimensi dengan massa yang dapat diedit, vektor kecepatan, jejak, serta prasetel stabil atau kacau.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Pilih prasetel orbital',
11
+ text: 'Mulailah dengan orbit angka delapan untuk tolok ukur yang stabil, segitiga Lagrange untuk keseimbangan berotasi, atau prasetel ketapel untuk pertemuan yang tampak kacau.',
12
+ },
13
+ {
14
+ name: 'Sesuaikan massa dan vektor kecepatan',
15
+ text: 'Gunakan penggeser untuk setiap benda guna mengubah massa dan komponen kecepatan awal. Perubahan kecil dapat mempertahankan pola, mengubahnya, atau menghancurkannya sepenuhnya.',
16
+ },
17
+ {
18
+ name: 'Baca diagnostik',
19
+ text: 'Pantau energi total, jarak pisah terdekat dan terjauh, serta pusat massa untuk memahami apakah orbit numerik tetap terikat atau mulai menjauh.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Apa itu masalah tiga benda?',
26
+ answer: 'Masalah tiga benda menanyakan bagaimana tiga massa bergerak ketika setiap benda menarik dua benda lainnya secara gravitasi. Tidak seperti masalah dua benda, tidak ada persamaan bentuk tertutup umum yang menyelesaikan setiap kemungkinan konfigurasi, sehingga sebagian besar kasus praktis dieksplorasi dengan integrasi numerik.',
27
+ },
28
+ {
29
+ question: 'Mengapa orbit tiga benda tidak stabil?',
30
+ answer: 'Banyak sistem tiga benda sensitif terhadap kondisi awal. Perubahan kecil pada kecepatan, posisi, atau massa mengubah waktu pertemuan dekat, dan pertemuan tersebut dapat saling bertukar energi secara dramatis. Hasilnya adalah sistem yang mungkin tetap terikat untuk sementara waktu dan kemudian tiba-tiba mengeluarkan satu benda.',
31
+ },
32
+ {
33
+ question: 'Apa yang ditunjukkan oleh prasetel angka delapan?',
34
+ answer: 'Prasetel angka delapan adalah solusi periodik terkenal untuk tiga massa yang sama. Setiap benda mengikuti jalur yang sama dengan pergeseran fase, menunjukkan bahwa masalah tiga benda dapat mengandung pulau-pulau stabil yang elegan di dalam lanskap kacau yang jauh lebih besar.',
35
+ },
36
+ {
37
+ question: 'Apakah ini simulator astronomi yang akurat secara fisik?',
38
+ answer: 'Alat ini menggunakan model Newton yang dilunakkan dan langkah Verlet kecepatan simplektik sehingga gerakannya terasa setia dan stabil untuk pembelajaran. Alat ini dirancang untuk eksplorasi interaktif daripada prediksi ephemeris berpresisi tinggi.',
39
+ },
40
+ {
41
+ question: 'Bagaimana cara menafsirkan energi total?',
42
+ answer: 'Energi total negatif biasanya menunjukkan sistem yang terikat, sementara energi yang mendekati nol dapat memudahkan pelepasan. Dalam simulasi numerik, penyimpangan energi yang besar juga memperingatkan bahwa langkah waktu atau geometri pertemuan membebani integrator.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratorium kekacauan gravitasi',
53
+ canvasLabel: 'Kanvas orbit tiga benda interaktif dua dimensi',
54
+ presetsLabel: 'Prasetel orbital',
55
+ figureEightPreset: 'Angka delapan',
56
+ lagrangePreset: 'Segitiga Lagrange',
57
+ slingshotPreset: 'Ketapel',
58
+ pauseButton: 'Jeda',
59
+ playButton: 'Putar',
60
+ resetButton: 'Setel ulang',
61
+ speedLabel: 'Kecepatan simulasi',
62
+ trailLabel: 'Panjang jejak',
63
+ massLabel: 'Massa',
64
+ velocityXLabel: 'Kecepatan X',
65
+ velocityYLabel: 'Kecepatan Y',
66
+ energyLabel: 'Energi total',
67
+ separationLabel: 'Rentang pisah',
68
+ centerMassLabel: 'Pusat massa',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Simulator Masalah Tiga Benda Interaktif untuk Kekacauan Orbital',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Masalah tiga benda adalah salah satu demonstrasi paling jelas bahwa hukum sederhana dapat menghasilkan gerakan yang rumit. Gravitasi Newton memberikan aturan gaya yang ringkas, tetapi begitu benda masif ketiga bergabung ke dalam sistem, setiap orbit terus-menerus membentuk kembali dua orbit lainnya. Simulator ini memungkinkan Anda bereksperimen langsung dengan ketidakstabilan tersebut: pilih konfigurasi yang dikenal, sesuaikan massa dan vektor kecepatan, dan amati apakah benda-benda tersebut membentuk orbit berulang, segitiga berotasi, atau peristiwa hamburan kacau.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Apa yang Ditunjukkan oleh Prasetel',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Prasetel', 'Ide fisika', 'Apa yang diamati'],
88
+ rows: [
89
+ ['<strong>Angka delapan</strong>', 'Solusi periodik massa sama di mana ketiga benda berbagi lingkaran yang sama.', 'Orbit tetap terorganisir hanya ketika simetri dan keseimbangan kecepatan dipertahankan dengan hati-hati.'],
90
+ ['<strong>Segitiga Lagrange</strong>', 'Tiga benda menempati segitiga sama sisi yang berputar di sekitar pusat massa.', 'Keseimbangan massa dan kecepatan tangensial mencegah segitiga runtuh ke dalam.'],
91
+ ['<strong>Ketapel</strong>', 'Pertemuan dekat mentransfer energi antar benda.', 'Satu benda dapat memperoleh kecepatan sementara benda lain menjadi lebih terikat, mengungkapkan mengapa ejeksi kacau terjadi.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Mengapa Perubahan Kecil Penting',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Dalam orbit dua benda, pusat massa dan elips orbital memberikan gambaran geometris yang stabil. Dalam sistem tiga benda, lintasan dekat bertindak seperti negosiasi gravitasi: sebuah benda dapat meminjam energi orbital, mengubah arah secara tajam, atau mengubah lingkaran teratur menjadi peristiwa hamburan. Sensitivitas itulah mengapa sistem astrofisika nyata seperti bintang tiga, pertemuan planet-bulan, dan planetesimal tata surya awal sering memerlukan integrasi numerik daripada satu rumus sederhana.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Cara Menggunakan Diagnostik',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Energi total</strong> membantu Anda menilai apakah sistem terikat dan apakah integrasi numerik tetap stabil.',
112
+ '<strong>Rentang pisah</strong> menunjukkan jarak pasangan terdekat dan terjauh, membuat hampir tabrakan dan ejeksi mudah dikenali.',
113
+ '<strong>Pusat massa</strong> harus tetap relatif stabil ketika momentum awal seimbang; penyimpangan menunjukkan pengaturan yang sengaja asimetris atau vektor kecepatan yang diubah.',
114
+ '<strong>Panjang jejak</strong> mengungkapkan struktur jangka panjang: jejak pendek menekankan interaksi saat ini, sementara jejak panjang mengekspos lingkaran berulang dan presesi orbital lambat.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Model Numerik yang Digunakan dalam Alat',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Simulator ini menggunakan tarikan kuadrat terbalik Newton dengan istilah pelunakan kecil yang mencegah ledakan visual selama lintasan yang sangat dekat. Gerakan dimajukan dengan langkah Verlet kecepatan, pilihan umum untuk demonstrasi orbital karena menangani perilaku energi lebih baik daripada pembaruan Euler sederhana. Hasilnya adalah model pendidikan responsif yang membuat perilaku kualitatif masalah tiga benda terlihat tanpa berpura-pura menggantikan perangkat lunak mekanika langit profesional.',
125
+ },
126
+ ],
127
+ faq,
128
+ bibliography,
129
+ howTo,
130
+ schemas: [
131
+ {
132
+ '@context': 'https://schema.org',
133
+ '@type': 'SoftwareApplication',
134
+ name: title,
135
+ description,
136
+ applicationCategory: 'ScientificApplication',
137
+ operatingSystem: 'Any',
138
+ },
139
+ {
140
+ '@context': 'https://schema.org',
141
+ '@type': 'FAQPage',
142
+ mainEntity: faq.map((item) => ({
143
+ '@type': 'Question',
144
+ name: item.question,
145
+ acceptedAnswer: {
146
+ '@type': 'Answer',
147
+ text: item.answer,
148
+ },
149
+ })),
150
+ },
151
+ {
152
+ '@context': 'https://schema.org',
153
+ '@type': 'HowTo',
154
+ name: title,
155
+ step: howTo.map((step) => ({
156
+ '@type': 'HowToStep',
157
+ name: step.name,
158
+ text: step.text,
159
+ })),
160
+ },
161
+ ],
162
+ };