@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 = 'symulator-problemu-trzech-cial';
5
+ const title = 'Symulator Problemu Trzech Ciał';
6
+ const description = 'Symuluj trzy ciała grawitacyjne na płaszczyźnie dwuwymiarowej z edytowalnymi masami, wektorami prędkości, śladami oraz stabilnymi lub chaotycznymi presetami.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Wybierz preset orbitalny',
11
+ text: 'Zacznij od orbity w kształcie ósemki jako stabilnego punktu odniesienia, trójkąta Lagrange\'a dla równowagi rotacyjnej lub presetu procy dla widocznie chaotycznego spotkania.',
12
+ },
13
+ {
14
+ name: 'Dostosuj masy i wektory prędkości',
15
+ text: 'Użyj suwaków dla każdego ciała, aby zmienić masę i początkowe składowe prędkości. Małe zmiany mogą zachować wzór, zdeformować go lub całkowicie zniszczyć.',
16
+ },
17
+ {
18
+ name: 'Czytaj diagnostykę',
19
+ text: 'Śledź energię całkowitą, najmniejszą i największą odległość oraz środek masy, aby zrozumieć, czy numeryczna orbita pozostaje związana, czy się rozpada.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Czym jest problem trzech ciał?',
26
+ answer: 'Problem trzech ciał bada, jak poruszają się trzy masy, gdy każde ciało przyciąga grawitacyjnie pozostałe dwa. W przeciwieństwie do problemu dwóch ciał nie ma ogólnego równania w formie zamkniętej, które rozwiązywałoby każdą możliwą konfigurację, dlatego większość praktycznych przypadków bada się za pomocą całkowania numerycznego.',
27
+ },
28
+ {
29
+ question: 'Dlaczego orbity trzech ciał są niestabilne?',
30
+ answer: 'Wiele układów trzech ciał jest wrażliwych na warunki początkowe. Niewielka zmiana prędkości, położenia lub masy zmienia czas bliskich spotkań, a te spotkania mogą dramatycznie wymieniać energię. Rezultatem jest układ, który może przez pewien czas pozostawać związany, a następnie nagle wyrzucić jedno ciało.',
31
+ },
32
+ {
33
+ question: 'Co pokazuje preset w kształcie ósemki?',
34
+ answer: 'Preset w kształcie ósemki to słynne okresowe rozwiązanie dla trzech równych mas. Każde ciało podąża tą samą ścieżką z przesunięciem fazowym, pokazując, że problem trzech ciał może zawierać eleganckie stabilne wyspy w znacznie większym chaotycznym krajobrazie.',
35
+ },
36
+ {
37
+ question: 'Czy to jest fizycznie dokładny symulator astronomiczny?',
38
+ answer: 'To narzędzie używa złagodzonego modelu newtonowskiego i symplektycznego kroku Verleta prędkości, aby ruch był wierny i stabilny do nauki. Jest przeznaczone do interaktywnej eksploracji, a nie do przewidywania efemeryd z wysoką precyzją.',
39
+ },
40
+ {
41
+ question: 'Jak interpretować energię całkowitą?',
42
+ answer: 'Ujemna energia całkowita zwykle wskazuje na układ związany, podczas gdy energia bliska zera może ułatwić ucieczkę. W symulacji numerycznej duży dryf energetyczny ostrzega również, że krok czasowy lub geometria spotkania obciążają integrator.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratorium chaosu grawitacyjnego',
53
+ canvasLabel: 'Interaktywne dwuwymiarowe płótno orbity trzech ciał',
54
+ presetsLabel: 'Presety orbitalne',
55
+ figureEightPreset: 'Ósemka',
56
+ lagrangePreset: 'Trójkąt Lagrange\'a',
57
+ slingshotPreset: 'Proca',
58
+ pauseButton: 'Pauza',
59
+ playButton: 'Odtwórz',
60
+ resetButton: 'Resetuj',
61
+ speedLabel: 'Prędkość symulacji',
62
+ trailLabel: 'Długość śladu',
63
+ massLabel: 'Masa',
64
+ velocityXLabel: 'Prędkość X',
65
+ velocityYLabel: 'Prędkość Y',
66
+ energyLabel: 'Energia całkowita',
67
+ separationLabel: 'Zakres odległości',
68
+ centerMassLabel: 'Środek masy',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Interaktywny symulator problemu trzech ciał dla chaosu orbitalnego',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Problem trzech ciał jest jednym z najjaśniejszych dowodów na to, że proste prawa mogą wytwarzać skomplikowany ruch. Grawitacja newtonowska daje zwartą regułę siły, ale gdy trzeci masywny ciało dołącza do układu, każda orbita nieustannie przekształca pozostałe dwie. Ten symulator pozwala bezpośrednio eksperymentować z tą niestabilnością: wybierz znaną konfigurację, dostosuj masy i wektory prędkości i obserwuj, czy ciała tworzą powtarzającą się orbitę, wirujący trójkąt czy chaotyczne zdarzenie rozpraszania.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Co pokazują presety',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Preset', 'Idea fizyczna', 'Na co zwrócić uwagę'],
88
+ rows: [
89
+ ['<strong>Ósemka</strong>', 'Okresowe rozwiązanie o równych masach, w którym wszystkie trzy ciała dzielą tę samą pętlę.', 'Orbita pozostaje zorganizowana tylko wtedy, gdy symetria i równowaga prędkości są starannie zachowane.'],
90
+ ['<strong>Trójkąt Lagrange\'a</strong>', 'Trzy ciała zajmują trójkąt równoboczny obracający się wokół środka masy.', 'Równowaga mas i prędkość styczna zapobiegają zapadaniu się trójkąta do wewnątrz.'],
91
+ ['<strong>Proca</strong>', 'Bliskie spotkanie przenosi energię między ciałami.', 'Jedno ciało może zyskać prędkość, podczas gdy drugie staje się silniej związane, ujawniając, dlaczego dochodzi do chaotycznych wyrzutów.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Dlaczego małe zmiany mają znaczenie',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'W orbicie dwóch ciał środek masy i elipsa orbitalna zapewniają stabilny obraz geometryczny. W układzie trzech ciał bliskie przeloty działają jak grawitacyjne negocjacje: ciało może pożyczyć energię orbitalną, gwałtownie zmienić kierunek lub przekształcić uporządkowaną pętlę w zdarzenie rozpraszania. Ta wrażliwość jest powodem, dla którego rzeczywiste układy astrofizyczne, takie jak gwiazdy potrójne, spotkania planeta-księżyc i planetozymale wczesnego Układu Słonecznego, często wymagają całkowania numerycznego zamiast jednego prostego wzoru.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Jak korzystać z diagnostyki',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Energia całkowita</strong> pomaga ocenić, czy układ jest związany i czy całkowanie numeryczne pozostaje stabilne.',
112
+ '<strong>Zakres odległości</strong> pokazuje najbliższe i najdalsze odległości par, ułatwiając dostrzeżenie prawie zderzeń i wyrzutów.',
113
+ '<strong>Środek masy</strong> powinien pozostać względnie stabilny, gdy początkowy pęd jest zrównoważony; dryf sugeruje celowo asymetryczną konfigurację lub zmieniony wektor prędkości.',
114
+ '<strong>Długość śladu</strong> ujawnia długoterminową strukturę: krótkie ślady podkreślają bieżącą interakcję, podczas gdy długie odsłaniają powtarzające się pętle i powolną precesję orbitalną.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Model numeryczny użyty w narzędziu',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Symulator wykorzystuje newtonowskie przyciąganie odwrotności kwadratu z małym członem wygładzającym, który zapobiega wizualnym eksplozjom podczas ekstremalnie bliskich przelotów. Ruch jest realizowany krokiem Verleta prędkości, powszechnym wyborem w demonstracjach orbitalnych, ponieważ lepiej radzi sobie z zachowaniem energii niż prosta aktualizacja Eulera. Rezultatem jest responsywny model edukacyjny, który uwidacznia jakościowe zachowanie problemu trzech ciał, nie udając profesjonalnego oprogramowania do mechaniki nieba.',
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-corpos';
5
+ const title = 'Simulador do Problema dos Três Corpos';
6
+ const description = 'Simule três corpos gravitacionais em um plano bidimensional com massas editáveis, vetores de velocidade, rastros e predefinições estáveis ou caóticas.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Escolha uma predefinição orbital',
11
+ text: 'Comece com a órbita em forma de oito para uma referência estável, o triângulo de Lagrange para um equilíbrio rotatório ou a predefinição de estilingue para um encontro visivelmente caótico.',
12
+ },
13
+ {
14
+ name: 'Ajuste massas e vetores de velocidade',
15
+ text: 'Use os controles deslizantes de cada corpo para alterar a massa e os componentes iniciais da velocidade. Pequenas mudanças podem preservar um padrão, deformá-lo ou destruí-lo completamente.',
16
+ },
17
+ {
18
+ name: 'Leia os diagnósticos',
19
+ text: 'Observe a energia total, a separação mais próxima e mais distante e o centro de massa para entender se a órbita numérica permanece limitada ou está se desintegrando.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'O que é o problema dos três corpos?',
26
+ answer: 'O problema dos três corpos pergunta como três massas se movem quando cada corpo atrai gravitacionalmente os outros dois. Diferentemente do problema de dois corpos, não existe uma equação geral de forma fechada que resolva toda configuração possível, então a maioria dos casos práticos é explorada com integração numérica.',
27
+ },
28
+ {
29
+ question: 'Por que as órbitas de três corpos são instáveis?',
30
+ answer: 'Muitos sistemas de três corpos são sensíveis a condições iniciais. Uma pequeníssima mudança na velocidade, posição ou massa altera o momento dos encontros próximos, e esses encontros podem trocar energia dramaticamente. O resultado é um sistema que pode permanecer limitado por um tempo e então ejetar subitamente um corpo.',
31
+ },
32
+ {
33
+ question: 'O que a predefinição em forma de oito mostra?',
34
+ answer: 'A predefinição em forma de oito é uma famosa solução periódica para três massas iguais. Cada corpo segue o mesmo caminho com um deslocamento de fase, demonstrando que o problema dos três corpos pode conter ilhas estáveis elegantes dentro de uma paisagem caótica muito maior.',
35
+ },
36
+ {
37
+ question: 'Este é um simulador astronômico fisicamente exato?',
38
+ answer: 'Esta ferramenta usa um modelo newtoniano suavizado e um passo do tipo Verlet de velocidade simplético para que o movimento pareça fiel e estável para aprendizado. Foi projetada para exploração interativa em vez de previsão de efemérides de alta precisão.',
39
+ },
40
+ {
41
+ question: 'Como devo interpretar a energia total?',
42
+ answer: 'Energia total negativa geralmente indica um sistema ligado, enquanto energia próxima de zero pode facilitar a fuga. Em uma simulação numérica, uma deriva energética grande também alerta que o passo de tempo ou a geometria do encontro está sobrecarregando o integrador.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratório de caos gravitacional',
53
+ canvasLabel: 'Tela interativa bidimensional de órbita de três corpos',
54
+ presetsLabel: 'Predefinições orbitais',
55
+ figureEightPreset: 'Figura em oito',
56
+ lagrangePreset: 'Triângulo de Lagrange',
57
+ slingshotPreset: 'Estilingue',
58
+ pauseButton: 'Pausar',
59
+ playButton: 'Reproduzir',
60
+ resetButton: 'Reiniciar',
61
+ speedLabel: 'Velocidade da simulação',
62
+ trailLabel: 'Comprimento do rastro',
63
+ massLabel: 'Massa',
64
+ velocityXLabel: 'Velocidade X',
65
+ velocityYLabel: 'Velocidade Y',
66
+ energyLabel: 'Energia total',
67
+ separationLabel: 'Intervalo de separação',
68
+ centerMassLabel: 'Centro de massa',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Simulador interativo do problema dos três corpos para caos orbital',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'O problema dos três corpos é uma das demonstrações mais claras de que leis simples podem produzir movimentos complicados. A gravidade newtoniana fornece uma regra de força compacta, mas no momento em que um terceiro corpo massivo se junta ao sistema, cada órbita remodela continuamente as outras duas. Este simulador permite que você experimente diretamente essa instabilidade: escolha uma configuração conhecida, ajuste massas e vetores de velocidade e observe se os corpos formam uma órbita repetitiva, um triângulo rotatório ou um evento de dispersão caótica.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'O que as predefinições demonstram',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Predefinição', 'Ideia física', 'O que observar'],
88
+ rows: [
89
+ ['<strong>Figura em oito</strong>', 'Uma solução periódica de massas iguais onde os três corpos compartilham o mesmo laço.', 'A órbita permanece organizada apenas quando a simetria e o equilíbrio de velocidades são cuidadosamente preservados.'],
90
+ ['<strong>Triângulo de Lagrange</strong>', 'Três corpos ocupam um triângulo equilátero que gira em torno do centro de massa.', 'O equilíbrio de massas e a velocidade tangencial impedem que o triângulo colapse para dentro.'],
91
+ ['<strong>Estilingue</strong>', 'Um encontro próximo transfere energia entre os corpos.', 'Um corpo pode ganhar velocidade enquanto outro se torna mais fortemente ligado, revelando por que ejeções caóticas ocorrem.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Por que pequenas mudanças importam',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Em uma órbita de dois corpos, o centro de massa e a elipse orbital fornecem uma imagem geométrica estável. Em um sistema de três corpos, passagens próximas agem como negociações gravitacionais: um corpo pode pegar emprestada energia orbital, mudar bruscamente de direção ou converter um laço ordenado em um evento de dispersão. Essa sensibilidade é a razão pela qual sistemas astrofísicos reais, como estrelas triplas, encontros planeta-lua e planetesimais do sistema solar primitivo, frequentemente exigem integração numérica em vez de uma única fórmula simples.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Como usar os diagnósticos',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Energia total</strong> ajuda você a julgar se o sistema está ligado e se a integração numérica está se mantendo estável.',
112
+ '<strong>Intervalo de separação</strong> mostra as distâncias de par mais próximas e mais distantes, tornando quase colisões e ejeções fáceis de detectar.',
113
+ '<strong>Centro de massa</strong> deve permanecer relativamente estável quando o momento inicial está equilibrado; deriva sugere uma configuração intencionalmente assimétrica ou um vetor de velocidade alterado.',
114
+ '<strong>Comprimento do rastro</strong> revela a estrutura de longo prazo: rastros curtos enfatizam a interação atual, enquanto rastros longos expõem laços repetitivos e precessão orbital lenta.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Modelo numérico usado na ferramenta',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'O simulador usa atração newtoniana de quadrado inverso com um pequeno termo de suavização que impede explosões visuais durante passagens extremamente próximas. O movimento é avançado com um passo do tipo Verlet de velocidade, uma escolha comum para demonstrações orbitais porque lida com o comportamento energético melhor do que uma simples atualização de Euler. O resultado é um modelo educacional responsivo que torna visível o comportamento qualitativo do problema dos três corpos sem pretender substituir softwares profissionais 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 = 'simuljator-zadachi-treh-tel';
5
+ const title = 'Симулятор задачи трёх тел';
6
+ const description = 'Моделируйте три гравитационных тела на двумерной плоскости с регулируемой массой, векторами скорости, следами и устойчивыми или хаотическими пресетами.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Выберите орбитальный пресет',
11
+ text: 'Начните с орбиты в виде восьмёрки для стабильного эталона, треугольника Лагранжа для вращающегося равновесия или пресета гравитационной пращи для наглядно хаотического сближения.',
12
+ },
13
+ {
14
+ name: 'Настройте массы и векторы скорости',
15
+ text: 'Используйте ползунки для каждого тела, чтобы изменить массу и начальные компоненты скорости. Небольшие изменения могут сохранить узор, деформировать его или уничтожить полностью.',
16
+ },
17
+ {
18
+ name: 'Следите за диагностикой',
19
+ text: 'Наблюдайте за полной энергией, минимальным и максимальным расстоянием и центром масс, чтобы понять, остаётся ли численная орбита связанной или распадается.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Что такое задача трёх тел?',
26
+ answer: 'Задача трёх тел исследует, как движутся три массы, когда каждое тело гравитационно притягивает два других. В отличие от задачи двух тел, не существует общего уравнения в замкнутой форме, решающего любую возможную конфигурацию, поэтому большинство практических случаев изучается с помощью численного интегрирования.',
27
+ },
28
+ {
29
+ question: 'Почему орбиты трёх тел нестабильны?',
30
+ answer: 'Многие системы трёх тел чувствительны к начальным условиям. Малейшее изменение скорости, положения или массы меняет время тесных сближений, а эти сближения могут драматически обмениваться энергией. В результате система может какое-то время оставаться связанной, а затем внезапно выбросить одно тело.',
31
+ },
32
+ {
33
+ question: 'Что показывает пресет в виде восьмёрки?',
34
+ answer: 'Пресет в виде восьмёрки - это знаменитое периодическое решение для трёх равных масс. Каждое тело следует по одному и тому же пути со сдвигом фазы, демонстрируя, что задача трёх тел может содержать элегантные стабильные островки внутри гораздо более обширного хаотического ландшафта.',
35
+ },
36
+ {
37
+ question: 'Является ли этот симулятор физически точным астрономическим инструментом?',
38
+ answer: 'Этот инструмент использует смягчённую ньютоновскую модель и симплектический шаг типа Верле по скорости, чтобы движение было достоверным и стабильным для обучения. Он предназначен для интерактивного исследования, а не для высокоточного предсказания эфемерид.',
39
+ },
40
+ {
41
+ question: 'Как интерпретировать полную энергию?',
42
+ answer: 'Отрицательная полная энергия обычно указывает на связанную систему, тогда как энергия, близкая к нулю, может облегчить уход. В численном моделировании большой дрейф энергии также предупреждает, что шаг по времени или геометрия сближения перегружают интегратор.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Лаборатория гравитационного хаоса',
53
+ canvasLabel: 'Интерактивное двумерное полотно орбиты трёх тел',
54
+ presetsLabel: 'Орбитальные пресеты',
55
+ figureEightPreset: 'Восьмёрка',
56
+ lagrangePreset: 'Треугольник Лагранжа',
57
+ slingshotPreset: 'Праща',
58
+ pauseButton: 'Пауза',
59
+ playButton: 'Запуск',
60
+ resetButton: 'Сброс',
61
+ speedLabel: 'Скорость симуляции',
62
+ trailLabel: 'Длина следа',
63
+ massLabel: 'Масса',
64
+ velocityXLabel: 'Скорость X',
65
+ velocityYLabel: 'Скорость Y',
66
+ energyLabel: 'Полная энергия',
67
+ separationLabel: 'Диапазон расстояний',
68
+ centerMassLabel: 'Центр масс',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Интерактивный симулятор задачи трёх тел для орбитального хаоса',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Задача трёх тел - одно из самых наглядных доказательств того, что простые законы могут порождать сложное движение. Ньютоновская гравитация даёт компактное правило силы, но как только к системе присоединяется третье массивное тело, каждая орбита непрерывно изменяет две другие. Этот симулятор позволяет напрямую экспериментировать с этой нестабильностью: выберите известную конфигурацию, настройте массы и векторы скорости и наблюдайте, образуют ли тела повторяющуюся орбиту, вращающийся треугольник или хаотическое рассеяние.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Что демонстрируют пресеты',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Пресет', 'Физическая идея', 'На что обратить внимание'],
88
+ rows: [
89
+ ['<strong>Восьмёрка</strong>', 'Периодическое решение с равными массами, где все три тела делят одну и ту же петлю.', 'Орбита остаётся организованной, только если симметрия и баланс скоростей тщательно сохранены.'],
90
+ ['<strong>Треугольник Лагранжа</strong>', 'Три тела занимают равносторонний треугольник, вращающийся вокруг центра масс.', 'Баланс масс и тангенциальная скорость не позволяют треугольнику схлопнуться внутрь.'],
91
+ ['<strong>Праща</strong>', 'Тесное сближение передаёт энергию между телами.', 'Одно тело может набрать скорость, в то время как другое становится более связанным, раскрывая причину хаотических выбросов.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Почему важны малые изменения',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'В орбите двух тел центр масс и орбитальный эллипс дают устойчивую геометрическую картину. В системе трёх тел тесные сближения действуют как гравитационные переговоры: тело может заимствовать орбитальную энергию, резко изменить направление или превратить упорядоченную петлю в событие рассеяния. Эта чувствительность - причина, по которой реальные астрофизические системы, такие как тройные звёзды, встречи планета-луна и планетезимали ранней Солнечной системы, часто требуют численного интегрирования, а не одной простой формулы.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Как использовать диагностику',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Полная энергия</strong> помогает определить, связана ли система и остаётся ли численное интегрирование стабильным.',
112
+ '<strong>Диапазон расстояний</strong> показывает ближайшие и самые дальние расстояния между парами, делая почти столкновения и выбросы легко заметными.',
113
+ '<strong>Центр масс</strong> должен оставаться относительно стабильным при сбалансированном начальном импульсе; дрейф указывает на намеренно асимметричную конфигурацию или изменённый вектор скорости.',
114
+ '<strong>Длина следа</strong> раскрывает долгосрочную структуру: короткие следы подчёркивают текущее взаимодействие, а длинные обнажают повторяющиеся петли и медленную орбитальную прецессию.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Численная модель, используемая в инструменте',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Симулятор использует ньютоновское притяжение обратных квадратов с малым сглаживающим членом, предотвращающим визуальные взрывы при чрезвычайно тесных сближениях. Движение вычисляется шагом типа Верле по скорости - распространённый выбор для орбитальных демонстраций, поскольку он лучше обрабатывает энергетическое поведение, чем простое обновление Эйлера. Результат - отзывчивая образовательная модель, делающая качественное поведение задачи трёх тел видимым, не претендуя на замену профессионального программного обеспечения небесной механики.',
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 = 'trekroppsproblem-simulator';
5
+ const title = 'Trekroppsproblem Simulator';
6
+ const description = 'Simulera tre gravitationskroppar i ett tvådimensionellt plan med redigerbara massor, hastighetsvektorer, spår och stabila eller kaotiska förinställningar.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Välj en orbital förinställning',
11
+ text: 'Börja med åttaslingbanan för en stabil referens, Lagranges triangel för en roterande jämvikt eller slangbella-förinställningen för ett synbart kaotiskt möte.',
12
+ },
13
+ {
14
+ name: 'Justera massor och hastighetsvektorer',
15
+ text: 'Använd reglagen för varje kropp för att ändra massa och initiala hastighetskomponenter. Små förändringar kan bevara ett mönster, deformera det eller förstöra det helt.',
16
+ },
17
+ {
18
+ name: 'Läs diagnostiken',
19
+ text: 'Övervaka total energi, närmaste och största avstånd samt masscentrum för att förstå om den numeriska banan förblir bunden eller driver isär.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Vad är trekroppsproblemet?',
26
+ answer: 'Trekroppsproblemet undersöker hur tre massor rör sig när varje kropp gravitationellt attraherar de två andra. Till skillnad från tvåkroppsproblemet finns det ingen allmän sluten formel som löser varje möjlig konfiguration, så de flesta praktiska fall utforskas med numerisk integration.',
27
+ },
28
+ {
29
+ question: 'Varför är trekroppsbanor instabila?',
30
+ answer: 'Många trekroppssystem är känsliga för initiala villkor. En liten förändring i hastighet, position eller massa ändrar tidpunkten för nära möten, och dessa möten kan dramatiskt utbyta energi. Resultatet är ett system som kan förbli bundet ett tag och sedan plötsligt kasta ut en kropp.',
31
+ },
32
+ {
33
+ question: 'Vad visar åttasling-förinställningen?',
34
+ answer: 'Åttasling-förinställningen är en berömd periodisk lösning för tre lika massor. Varje kropp följer samma väg med en fasförskjutning, vilket visar att trekroppsproblemet kan innehålla eleganta stabila öar inom ett mycket större kaotiskt landskap.',
35
+ },
36
+ {
37
+ question: 'Är detta en fysikaliskt exakt astronomisimulator?',
38
+ answer: 'Detta verktyg använder en mjukad newtonmodell och en symplektisk hastighets-Verlet-steg så att rörelsen känns trogen och stabil för inlärning. Det är designat för interaktiv utforskning snarare än högprecisionsepemeridprediktion.',
39
+ },
40
+ {
41
+ question: 'Hur ska jag tolka total energi?',
42
+ answer: 'Negativ total energi indikerar vanligtvis ett bundet system, medan energi nära noll kan göra flykt lättare. I en numerisk simulering varnar stor energidrift också för att tidssteget eller mötesgeometrin belastar integratorn.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Laboratorium för gravitationskaos',
53
+ canvasLabel: 'Interaktiv tvådimensionell trekroppsbanas canvas',
54
+ presetsLabel: 'Orbitala förinställningar',
55
+ figureEightPreset: 'Åttaslinga',
56
+ lagrangePreset: 'Lagranges triangel',
57
+ slingshotPreset: 'Slangbella',
58
+ pauseButton: 'Paus',
59
+ playButton: 'Spela',
60
+ resetButton: 'Återställ',
61
+ speedLabel: 'Simuleringshastighet',
62
+ trailLabel: 'Spårlängd',
63
+ massLabel: 'Massa',
64
+ velocityXLabel: 'Hastighet X',
65
+ velocityYLabel: 'Hastighet Y',
66
+ energyLabel: 'Total energi',
67
+ separationLabel: 'Separationsintervall',
68
+ centerMassLabel: 'Masscentrum',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Interaktiv trekroppsproblem-simulator för orbitalt kaos',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Trekroppsproblemet är en av de tydligaste demonstrationerna av att enkla lagar kan producera komplicerad rörelse. Newtons gravitation ger en kompakt kraftregel, men så snart en tredje massiv kropp ansluter sig till systemet, omformar varje bana kontinuerligt de två andra. Denna simulator låter dig experimentera direkt med den instabiliteten: välj en känd konfiguration, justera massor och hastighetsvektorer och observera om kropparna bildar en återkommande bana, en roterande triangel eller en kaotisk spridningshändelse.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Vad förinställningarna visar',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Förinställning', 'Fysisk idé', 'Vad att titta efter'],
88
+ rows: [
89
+ ['<strong>Åttaslinga</strong>', 'En periodisk lösning med lika massor där alla tre kroppar delar samma slinga.', 'Banans organisation bevaras endast när symmetri och hastighetsbalans noggrant upprätthålls.'],
90
+ ['<strong>Lagranges triangel</strong>', 'Tre kroppar upptar en liksidig triangel som roterar runt masscentrum.', 'Massbalans och tangentiell hastighet hindrar triangeln från att kollapsa inåt.'],
91
+ ['<strong>Slangbella</strong>', 'Ett nära möte överför energi mellan kropparna.', 'En kropp kan vinna fart medan en annan blir mer bunden, vilket avslöjar varför kaotiska utkastningar inträffar.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Varför små förändringar spelar roll',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'I en tvåkroppsbana ger masscentrum och den orbitala ellipsen en stabil geometrisk bild. I ett trekroppssystem fungerar nära passager som gravitationella förhandlingar: en kropp kan låna orbital energi, ändra riktning kraftigt eller omvandla en ordnad slinga till en spridningshändelse. Den känsligheten är varför verkliga astrofysiska system som trippelstjärnor, planet-måne-möten och planetesimaler i tidiga solsystem ofta kräver numerisk integration snarare än en enda enkel formel.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Hur man använder diagnostiken',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Total energi</strong> hjälper dig bedöma om systemet är bundet och om den numeriska integrationen förblir stabil.',
112
+ '<strong>Separationsintervall</strong> visar de närmaste och avlägsnaste pardistanserna, vilket gör nästan kollisioner och utkastningar lätta att upptäcka.',
113
+ '<strong>Masscentrum</strong> bör förbli relativt stabilt när det initiala rörelsemängden är balanserad; drift tyder på en avsiktligt asymmetrisk inställning eller en ändrad hastighetsvektor.',
114
+ '<strong>Spårlängd</strong> avslöjar långsiktig struktur: korta spår betonar den aktuella interaktionen, medan långa spår blottar upprepande slingor och långsam orbital precession.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Numerisk modell som används i verktyget',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Simulatorn använder newtonsk omvänt-kvadrat-attraktion med en liten mjukningsterm som förhindrar visuella explosioner under extremt nära passager. Rörelsen drivs fram med ett hastighets-Verlet-steg, ett vanligt val för orbitala demonstrationer eftersom det hanterar energibeteende bättre än en enkel Euler-uppdatering. Resultatet är en responsiv pedagogisk modell som gör det kvalitativa beteendet hos trekroppsproblemet synligt utan att låtsas ersätta professionell himlamekanikprogramvara.',
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
+ };