@jjlmoya/utils-science 1.33.0 → 1.35.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 (60) 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/roche-limit-satellite-disruption/bibliography.astro +14 -0
  10. package/src/tool/roche-limit-satellite-disruption/bibliography.ts +16 -0
  11. package/src/tool/roche-limit-satellite-disruption/component.astro +97 -0
  12. package/src/tool/roche-limit-satellite-disruption/entry.ts +28 -0
  13. package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +229 -0
  14. package/src/tool/roche-limit-satellite-disruption/i18n/en.ts +229 -0
  15. package/src/tool/roche-limit-satellite-disruption/i18n/es.ts +229 -0
  16. package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +229 -0
  17. package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +229 -0
  18. package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +229 -0
  19. package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +229 -0
  20. package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +229 -0
  21. package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +229 -0
  22. package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +229 -0
  23. package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +229 -0
  24. package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +229 -0
  25. package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +229 -0
  26. package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +229 -0
  27. package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +229 -0
  28. package/src/tool/roche-limit-satellite-disruption/index.ts +11 -0
  29. package/src/tool/roche-limit-satellite-disruption/logic.ts +102 -0
  30. package/src/tool/roche-limit-satellite-disruption/particle-system.ts +66 -0
  31. package/src/tool/roche-limit-satellite-disruption/roche-limit-satellite-disruption-calculator.css +568 -0
  32. package/src/tool/roche-limit-satellite-disruption/script.ts +274 -0
  33. package/src/tool/roche-limit-satellite-disruption/seo.astro +15 -0
  34. package/src/tool/roche-limit-satellite-disruption/storage.ts +28 -0
  35. package/src/tool/roche-limit-satellite-disruption/visual-data.ts +16 -0
  36. package/src/tool/three-body-problem/app.ts +274 -0
  37. package/src/tool/three-body-problem/bibliography.astro +14 -0
  38. package/src/tool/three-body-problem/bibliography.ts +16 -0
  39. package/src/tool/three-body-problem/component.astro +70 -0
  40. package/src/tool/three-body-problem/entry.ts +26 -0
  41. package/src/tool/three-body-problem/i18n/de.ts +162 -0
  42. package/src/tool/three-body-problem/i18n/en.ts +162 -0
  43. package/src/tool/three-body-problem/i18n/es.ts +162 -0
  44. package/src/tool/three-body-problem/i18n/fr.ts +162 -0
  45. package/src/tool/three-body-problem/i18n/id.ts +162 -0
  46. package/src/tool/three-body-problem/i18n/it.ts +162 -0
  47. package/src/tool/three-body-problem/i18n/ja.ts +162 -0
  48. package/src/tool/three-body-problem/i18n/ko.ts +162 -0
  49. package/src/tool/three-body-problem/i18n/nl.ts +162 -0
  50. package/src/tool/three-body-problem/i18n/pl.ts +162 -0
  51. package/src/tool/three-body-problem/i18n/pt.ts +162 -0
  52. package/src/tool/three-body-problem/i18n/ru.ts +162 -0
  53. package/src/tool/three-body-problem/i18n/sv.ts +162 -0
  54. package/src/tool/three-body-problem/i18n/tr.ts +162 -0
  55. package/src/tool/three-body-problem/i18n/zh.ts +162 -0
  56. package/src/tool/three-body-problem/index.ts +11 -0
  57. package/src/tool/three-body-problem/logic/ThreeBodyEngine.ts +179 -0
  58. package/src/tool/three-body-problem/seo.astro +15 -0
  59. package/src/tool/three-body-problem/three-body-problem-simulator.css +503 -0
  60. 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 = '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
+ };
@@ -0,0 +1,162 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'uc-cisim-problemi-simulatoru';
5
+ const title = 'Üç Cisim Problemi Simülatörü';
6
+ const description = 'Düzenlenebilir kütleler, hız vektörleri, izler ve kararlı veya kaotik ön ayarlarla iki boyutlu bir düzlemde üç kütleçekimsel cismi simüle edin.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Bir yörünge ön ayarı seçin',
11
+ text: 'Kararlı bir referans için sekiz figürü yörüngesiyle, dönen bir denge için Lagrange üçgeniyle veya görünür şekilde kaotik bir karşılaşma için sapan ön ayarıyla başlayın.',
12
+ },
13
+ {
14
+ name: 'Kütleleri ve hız vektörlerini ayarlayın',
15
+ text: 'Her cisim için kaydırıcıları kullanarak kütleyi ve başlangıç hızı bileşenlerini değiştirin. Küçük değişiklikler bir deseni koruyabilir, deforme edebilir veya tamamen yok edebilir.',
16
+ },
17
+ {
18
+ name: 'Tanıları okuyun',
19
+ text: 'Sayısal yörüngenin bağlı kalıp kalmadığını veya dağılıp dağılmadığını anlamak için toplam enerjiyi, en yakın ve en uzak ayrılmayı ve kütle merkezini izleyin.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Üç cisim problemi nedir?',
26
+ answer: 'Üç cisim problemi, her bir cismin diğer ikisini kütleçekimsel olarak çekmesi durumunda üç kütlenin nasıl hareket ettiğini sorgular. İki cisim probleminden farklı olarak, her olası konfigürasyonu çözen genel bir kapalı form denklemi yoktur, bu nedenle pratik vakaların çoğu sayısal entegrasyonla keşfedilir.',
27
+ },
28
+ {
29
+ question: 'Üç cisim yörüngeleri neden kararsızdır?',
30
+ answer: 'Birçok üç cisim sistemi başlangıç koşullarına duyarlıdır. Hız, konum veya kütledeki küçük bir değişiklik yakın karşılaşmaların zamanlamasını değiştirir ve bu karşılaşmalar enerjiyi dramatik bir şekilde değiş tokuş edebilir. Sonuç, bir süre bağlı kalıp ardından aniden bir cismi fırlatabilen bir sistemdir.',
31
+ },
32
+ {
33
+ question: 'Sekiz figürü ön ayarı neyi gösterir?',
34
+ answer: 'Sekiz figürü ön ayarı, üç eşit kütle için ünlü bir periyodik çözümdür. Her cisim aynı yolu bir faz kaymasıyla takip eder ve üç cisim probleminin çok daha büyük bir kaotik manzara içinde zarif kararlı adalar içerebileceğini gösterir.',
35
+ },
36
+ {
37
+ question: 'Bu fiziksel olarak tam doğru bir astronomi simülatörü müdür?',
38
+ answer: 'Bu araç, hareketin öğrenme için sadık ve kararlı hissettirmesi amacıyla yumuşatılmış bir Newton modeli ve semplektik hız Verlet adımı kullanır. Yüksek hassasiyetli gök günlüğü tahmininden ziyade etkileşimli keşif için tasarlanmıştır.',
39
+ },
40
+ {
41
+ question: 'Toplam enerjiyi nasıl yorumlamalıyım?',
42
+ answer: 'Negatif toplam enerji genellikle bağlı bir sistemi gösterirken, sıfıra yakın enerji kaçışı kolaylaştırabilir. Sayısal bir simülasyonda, büyük enerji sapması ayrıca zaman adımının veya karşılaşma geometrisinin entegratörü zorladığı konusunda uyarır.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title,
52
+ kicker: 'Kütleçekimsel kaos laboratuvarı',
53
+ canvasLabel: 'Etkileşimli iki boyutlu üç cisim yörünge tuvali',
54
+ presetsLabel: 'Yörünge ön ayarları',
55
+ figureEightPreset: 'Sekiz figürü',
56
+ lagrangePreset: 'Lagrange üçgeni',
57
+ slingshotPreset: 'Sapan',
58
+ pauseButton: 'Duraklat',
59
+ playButton: 'Oynat',
60
+ resetButton: 'Sıfırla',
61
+ speedLabel: 'Simülasyon hızı',
62
+ trailLabel: 'İz uzunluğu',
63
+ massLabel: 'Kütle',
64
+ velocityXLabel: 'Hız X',
65
+ velocityYLabel: 'Hız Y',
66
+ energyLabel: 'Toplam enerji',
67
+ separationLabel: 'Ayrılma aralığı',
68
+ centerMassLabel: 'Kütle merkezi',
69
+ },
70
+ seo: [
71
+ {
72
+ type: 'title',
73
+ text: 'Yörüngesel Kaos için Etkileşimli Üç Cisim Problemi Simülatörü',
74
+ level: 2,
75
+ },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Üç cisim problemi, basit yasaların karmaşık hareket üretebileceğinin en açık göstergelerinden biridir. Newton kütleçekimi kompakt bir kuvvet kuralı verir, ancak üçüncü bir kütleli cisim sisteme katıldığı anda her yörünge sürekli olarak diğer ikisini yeniden şekillendirir. Bu simülatör, bu kararsızlıkla doğrudan deney yapmanızı sağlar: bilinen bir konfigürasyon seçin, kütleleri ve hız vektörlerini ayarlayın ve cisimlerin tekrarlayan bir yörünge, dönen bir üçgen veya kaotik bir saçılma olayı oluşturup oluşturmadığını izleyin.',
79
+ },
80
+ {
81
+ type: 'title',
82
+ text: 'Ön Ayarların Gösterdikleri',
83
+ level: 3,
84
+ },
85
+ {
86
+ type: 'table',
87
+ headers: ['Ön Ayar', 'Fiziksel fikir', 'Nelere dikkat edilmeli'],
88
+ rows: [
89
+ ['<strong>Sekiz figürü</strong>', 'Her üç cismin aynı döngüyü paylaştığı eşit kütleli periyodik bir çözüm.', 'Yörünge yalnızca simetri ve hız dengesi dikkatlice korunduğunda organize kalır.'],
90
+ ['<strong>Lagrange üçgeni</strong>', 'Üç cisim, kütle merkezi etrafında dönen bir eşkenar üçgen işgal eder.', 'Kütle dengesi ve teğetsel hız, üçgenin içe çökmesini engeller.'],
91
+ ['<strong>Sapan</strong>', 'Yakın bir karşılaşma cisimler arasında enerji transfer eder.', 'Bir cisim hız kazanırken diğeri daha sıkı bağlı hale gelir ve kaotik fırlatmaların neden oluştuğunu ortaya çıkarır.'],
92
+ ],
93
+ },
94
+ {
95
+ type: 'title',
96
+ text: 'Küçük Değişiklikler Neden Önemlidir',
97
+ level: 3,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'İki cisim yörüngesinde, kütle merkezi ve yörünge elipsi istikrarlı bir geometrik resim sağlar. Üç cisim sisteminde, yakın geçişler kütleçekimsel müzakereler gibi davranır: bir cisim yörüngesel enerji ödünç alabilir, keskin bir şekilde yön değiştirebilir veya düzenli bir döngüyü saçılma olayına dönüştürebilir. Bu hassasiyet, üçlü yıldızlar, gezegen-ay karşılaşmaları ve erken güneş sistemi gezegenimsileri gibi gerçek astrofiziksel sistemlerin tek bir basit formül yerine genellikle sayısal entegrasyon gerektirmesinin nedenidir.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Tanılar Nasıl Kullanılır',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'list',
110
+ items: [
111
+ '<strong>Toplam enerji</strong>, sistemin bağlı olup olmadığını ve sayısal entegrasyonun kararlı kalıp kalmadığını değerlendirmenize yardımcı olur.',
112
+ '<strong>Ayrılma aralığı</strong>, en yakın ve en uzak çift mesafelerini göstererek neredeyse çarpışmaları ve fırlatmaları kolayca tespit etmenizi sağlar.',
113
+ '<strong>Kütle merkezi</strong>, başlangıç momentumu dengeli olduğunda nispeten sabit kalmalıdır; sapma, kasıtlı olarak asimetrik bir kurulum veya değiştirilmiş bir hız vektörü olduğunu gösterir.',
114
+ '<strong>İz uzunluğu</strong>, uzun vadeli yapıyı ortaya çıkarır: kısa izler mevcut etkileşimi vurgularken, uzun izler tekrarlayan döngüleri ve yavaş yörüngesel devinimi sergiler.',
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Araçta Kullanılan Sayısal Model',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Simülatör, aşırı yakın geçişler sırasında görsel patlamaları önleyen küçük bir yumuşatma terimi ile Newton ters-kare çekimini kullanır. Hareket, basit bir Euler güncellemesinden daha iyi enerji davranışı sağladığı için yörünge gösterimlerinde yaygın bir seçim olan hız Verlet adımıyla ilerletilir. Sonuç, profesyonel gök mekaniği yazılımının yerini almaya çalışmadan üç cisim probleminin niteliksel davranışını görünür kılan duyarlı bir eğitim modelidir.',
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 = 'three-body-problem-simulator';
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
+ };