@jjlmoya/utils-science 1.50.0 → 1.52.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.
- package/package.json +2 -2
- package/src/category/i18n/es.ts +3 -4
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/index.ts +25 -25
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/env.d.ts +1 -1
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +24 -24
- package/src/tests/seo_parity.test.ts +5 -5
- package/src/tests/seo_translation_completeness.test.ts +76 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/spanish_leakage.test.ts +175 -153
- package/src/tool/asteroid-impact/component.astro +251 -251
- package/src/tool/asteroid-impact/helpers.ts +17 -17
- package/src/tool/asteroid-impact/i18n/de.ts +2 -2
- package/src/tool/asteroid-impact/i18n/en.ts +2 -2
- package/src/tool/asteroid-impact/i18n/es.ts +2 -2
- package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/id.ts +2 -2
- package/src/tool/asteroid-impact/i18n/it.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
- package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
- package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
- package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
- package/src/tool/asteroid-impact/script.ts +262 -262
- package/src/tool/asteroid-impact/seo.astro +15 -15
- package/src/tool/asteroid-impact/ui.ts +69 -69
- package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
- package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
- package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
- package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
- package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
- package/src/tool/cellular-renewal/component.astro +126 -126
- package/src/tool/cellular-renewal/i18n/de.ts +1 -1
- package/src/tool/cellular-renewal/i18n/en.ts +1 -1
- package/src/tool/cellular-renewal/i18n/es.ts +1 -1
- package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/id.ts +1 -1
- package/src/tool/cellular-renewal/i18n/it.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
- package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
- package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
- package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
- package/src/tool/cellular-renewal/seo.astro +15 -15
- package/src/tool/colony-counter/i18n/de.ts +1 -1
- package/src/tool/colony-counter/i18n/en.ts +1 -1
- package/src/tool/colony-counter/i18n/es.ts +1 -1
- package/src/tool/colony-counter/i18n/fr.ts +1 -1
- package/src/tool/colony-counter/i18n/id.ts +1 -1
- package/src/tool/colony-counter/i18n/it.ts +1 -1
- package/src/tool/colony-counter/i18n/ja.ts +1 -1
- package/src/tool/colony-counter/i18n/ko.ts +1 -1
- package/src/tool/colony-counter/i18n/nl.ts +1 -1
- package/src/tool/colony-counter/i18n/pl.ts +1 -1
- package/src/tool/colony-counter/i18n/pt.ts +1 -1
- package/src/tool/colony-counter/i18n/ru.ts +1 -1
- package/src/tool/colony-counter/i18n/sv.ts +1 -1
- package/src/tool/colony-counter/i18n/tr.ts +1 -1
- package/src/tool/colony-counter/i18n/zh.ts +1 -1
- package/src/tool/colony-counter/seo.astro +15 -15
- package/src/tool/conway-life-rule-lab/component.astro +1 -1
- package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
- package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
- package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
- package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
- package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
- package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
- package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
- package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
- package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
- package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
- package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
- package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
- package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
- package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
- package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
- package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
- package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
- package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
- package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
- package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
- package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
- package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
- package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
- package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
- package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
- package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
- package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
- package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
- package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
- package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
- package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
- package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
- package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
- package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
- package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
- package/src/tool/microwave-detector/component.astro +238 -238
- package/src/tool/microwave-detector/i18n/de.ts +1 -1
- package/src/tool/microwave-detector/i18n/en.ts +1 -1
- package/src/tool/microwave-detector/i18n/es.ts +1 -1
- package/src/tool/microwave-detector/i18n/fr.ts +1 -1
- package/src/tool/microwave-detector/i18n/id.ts +1 -1
- package/src/tool/microwave-detector/i18n/it.ts +1 -1
- package/src/tool/microwave-detector/i18n/ja.ts +1 -1
- package/src/tool/microwave-detector/i18n/ko.ts +1 -1
- package/src/tool/microwave-detector/i18n/nl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pt.ts +1 -1
- package/src/tool/microwave-detector/i18n/ru.ts +1 -1
- package/src/tool/microwave-detector/i18n/sv.ts +1 -1
- package/src/tool/microwave-detector/i18n/tr.ts +1 -1
- package/src/tool/microwave-detector/i18n/zh.ts +1 -1
- package/src/tool/microwave-detector/seo.astro +15 -15
- package/src/tool/natural-selection-drift/component.astro +135 -135
- package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
- package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
- package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
- package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
- package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
- package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
- package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
- package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
- package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
- package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
- package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
- package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
- package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
- package/src/tool/radioactive-decay/i18n/de.ts +168 -164
- package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
- package/src/tool/radioactive-decay/i18n/id.ts +169 -165
- package/src/tool/radioactive-decay/i18n/it.ts +76 -74
- package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
- package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
- package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
- package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
- package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
- package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
- package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
- package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
- package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
- package/src/tool/simulation-probability/component.astro +138 -138
- package/src/tool/simulation-probability/i18n/de.ts +1 -1
- package/src/tool/simulation-probability/i18n/en.ts +1 -1
- package/src/tool/simulation-probability/i18n/es.ts +1 -1
- package/src/tool/simulation-probability/i18n/fr.ts +1 -1
- package/src/tool/simulation-probability/i18n/id.ts +1 -1
- package/src/tool/simulation-probability/i18n/it.ts +1 -1
- package/src/tool/simulation-probability/i18n/ja.ts +1 -1
- package/src/tool/simulation-probability/i18n/ko.ts +1 -1
- package/src/tool/simulation-probability/i18n/nl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pt.ts +1 -1
- package/src/tool/simulation-probability/i18n/ru.ts +1 -1
- package/src/tool/simulation-probability/i18n/sv.ts +1 -1
- package/src/tool/simulation-probability/i18n/tr.ts +1 -1
- package/src/tool/simulation-probability/i18n/zh.ts +1 -1
- package/src/tool/simulation-probability/seo.astro +15 -15
- package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
- package/src/tool/temperature-timeline/i18n/de.ts +2 -1
- package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
- package/src/tool/temperature-timeline/i18n/it.ts +142 -141
- package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
- package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
- package/src/tool/three-body-problem/app.ts +4 -4
- package/src/tool/three-body-problem/component.astro +6 -6
- package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
- package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
- package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
- package/src/types.ts +1 -1
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import { type Composition } from "./logic/impactPhysics";
|
|
2
|
-
import { formatSize, getTypeLabel, getCompositionColor } from "./helpers";
|
|
3
|
-
|
|
4
|
-
let config = {
|
|
5
|
-
diameter: 10000,
|
|
6
|
-
velocity: 20,
|
|
7
|
-
composition: "rock" as Composition,
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export function getConfig() {
|
|
11
|
-
return config;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function setConfig(newConfig: typeof config) {
|
|
15
|
-
config = newConfig;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function updateMainDisplay() {
|
|
19
|
-
const displaySize = document.getElementById("display-size");
|
|
20
|
-
const displayVel = document.getElementById("display-velocity");
|
|
21
|
-
const sizeInput = document.getElementById("input-size") as HTMLInputElement;
|
|
22
|
-
const velInput = document.getElementById("input-velocity") as HTMLInputElement;
|
|
23
|
-
|
|
24
|
-
if (displaySize) displaySize.textContent = formatSize(config.diameter);
|
|
25
|
-
if (displayVel) displayVel.textContent = `${config.velocity} km/s`;
|
|
26
|
-
if (sizeInput) sizeInput.value = config.diameter.toString();
|
|
27
|
-
if (velInput) velInput.value = config.velocity.toString();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function updateParamBadge() {
|
|
31
|
-
const paramSizeVal = document.getElementById("asteroid-param-size-val");
|
|
32
|
-
const paramVelVal = document.getElementById("asteroid-param-vel-val");
|
|
33
|
-
const paramTypeVal = document.getElementById("asteroid-param-type-val");
|
|
34
|
-
|
|
35
|
-
if (paramSizeVal) paramSizeVal.textContent = formatSize(config.diameter);
|
|
36
|
-
if (paramVelVal) paramVelVal.textContent = `${config.velocity} km/s`;
|
|
37
|
-
if (paramTypeVal) paramTypeVal.textContent = getTypeLabel(config.composition);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function updateVisual() {
|
|
41
|
-
const visual = document.getElementById("asteroid-visual");
|
|
42
|
-
const surface = document.getElementById("asteroid-surface");
|
|
43
|
-
const scale = 1 + (config.diameter / 5000) * 0.5;
|
|
44
|
-
|
|
45
|
-
if (visual) {
|
|
46
|
-
visual.style.transform = `scale(${scale})`;
|
|
47
|
-
visual.classList.toggle("ice-type", config.composition === "ice");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (surface) {
|
|
51
|
-
const spinDuration = Math.max(2, 8 - (config.velocity / 10));
|
|
52
|
-
surface.style.animation = `asteroid-spin ${spinDuration}s linear infinite`;
|
|
53
|
-
surface.style.background = getCompositionColor(config.composition);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function updateMaterialButtons() {
|
|
58
|
-
const matBtns = document.querySelectorAll(".asteroid-material-btn");
|
|
59
|
-
matBtns.forEach((btn) => {
|
|
60
|
-
btn.classList.toggle("active", btn.getAttribute("data-type") === config.composition);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export function updateUI() {
|
|
65
|
-
updateMainDisplay();
|
|
66
|
-
updateParamBadge();
|
|
67
|
-
updateVisual();
|
|
68
|
-
updateMaterialButtons();
|
|
69
|
-
}
|
|
1
|
+
import { type Composition } from "./logic/impactPhysics";
|
|
2
|
+
import { formatSize, getTypeLabel, getCompositionColor } from "./helpers";
|
|
3
|
+
|
|
4
|
+
let config = {
|
|
5
|
+
diameter: 10000,
|
|
6
|
+
velocity: 20,
|
|
7
|
+
composition: "rock" as Composition,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function getConfig() {
|
|
11
|
+
return config;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function setConfig(newConfig: typeof config) {
|
|
15
|
+
config = newConfig;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function updateMainDisplay() {
|
|
19
|
+
const displaySize = document.getElementById("display-size");
|
|
20
|
+
const displayVel = document.getElementById("display-velocity");
|
|
21
|
+
const sizeInput = document.getElementById("input-size") as HTMLInputElement;
|
|
22
|
+
const velInput = document.getElementById("input-velocity") as HTMLInputElement;
|
|
23
|
+
|
|
24
|
+
if (displaySize) displaySize.textContent = formatSize(config.diameter);
|
|
25
|
+
if (displayVel) displayVel.textContent = `${config.velocity} km/s`;
|
|
26
|
+
if (sizeInput) sizeInput.value = config.diameter.toString();
|
|
27
|
+
if (velInput) velInput.value = config.velocity.toString();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function updateParamBadge() {
|
|
31
|
+
const paramSizeVal = document.getElementById("asteroid-param-size-val");
|
|
32
|
+
const paramVelVal = document.getElementById("asteroid-param-vel-val");
|
|
33
|
+
const paramTypeVal = document.getElementById("asteroid-param-type-val");
|
|
34
|
+
|
|
35
|
+
if (paramSizeVal) paramSizeVal.textContent = formatSize(config.diameter);
|
|
36
|
+
if (paramVelVal) paramVelVal.textContent = `${config.velocity} km/s`;
|
|
37
|
+
if (paramTypeVal) paramTypeVal.textContent = getTypeLabel(config.composition);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function updateVisual() {
|
|
41
|
+
const visual = document.getElementById("asteroid-visual");
|
|
42
|
+
const surface = document.getElementById("asteroid-surface");
|
|
43
|
+
const scale = 1 + (config.diameter / 5000) * 0.5;
|
|
44
|
+
|
|
45
|
+
if (visual) {
|
|
46
|
+
visual.style.transform = `scale(${scale})`;
|
|
47
|
+
visual.classList.toggle("ice-type", config.composition === "ice");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (surface) {
|
|
51
|
+
const spinDuration = Math.max(2, 8 - (config.velocity / 10));
|
|
52
|
+
surface.style.animation = `asteroid-spin ${spinDuration}s linear infinite`;
|
|
53
|
+
surface.style.background = getCompositionColor(config.composition);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function updateMaterialButtons() {
|
|
58
|
+
const matBtns = document.querySelectorAll(".asteroid-material-btn");
|
|
59
|
+
matBtns.forEach((btn) => {
|
|
60
|
+
btn.classList.toggle("active", btn.getAttribute("data-type") === config.composition);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function updateUI() {
|
|
65
|
+
updateMainDisplay();
|
|
66
|
+
updateParamBadge();
|
|
67
|
+
updateVisual();
|
|
68
|
+
updateMaterialButtons();
|
|
69
|
+
}
|
|
@@ -1,254 +1,262 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'schwarzes-loch-ereignishorizont-simulator';
|
|
5
|
-
const title = 'Schwarzes Loch Ereignishorizont Simulator';
|
|
6
|
-
const description = 'Erkunden Sie den Ereignishorizont eines schwarzen Lochs mit interaktiven Berechnungen von Masse, Orbitdistanz, Zeitdilatation, Photonensphäre, Fluchtgeschwindigkeit und Schwarzschild-Radius.';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{
|
|
10
|
-
name: 'Wählen Sie die Masse des schwarzen Lochs',
|
|
11
|
-
text: 'Bewegen Sie den Masse-Regler von einem stellaren schwarzen Loch zu einem supermassiven schwarzen Loch und beobachten Sie, wie der Schwarzschild-Radius in Echtzeit skaliert.',
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'Bewegen Sie die Sonde nahe an den Horizont',
|
|
15
|
-
text: 'Stellen Sie die Entfernung in Schwarzschild-Radien ein, um einen sicheren äußeren Orbit, die Region der Photonensphäre und den Rand des Ereignishorizonts zu vergleichen.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'Untersuchen Sie relativistische Effekte',
|
|
19
|
-
text: 'Lesen Sie die Fluchtgeschwindigkeit, die gravitative Zeitdilatation, die Rotverschiebung und die Umlaufzeit ab, um zu verstehen, warum die gewöhnliche Intuition in der Nähe des Horizonts versagt.',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'Vergleichen Sie die charakteristischen Radien',
|
|
23
|
-
text: 'Nutzen Sie die Leitringe für Ereignishorizont, Photonensphäre und ISCO, um die verschiedenen Grenzen um ein nicht rotierendes schwarzes Loch zu verstehen.',
|
|
24
|
-
},
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const faq = [
|
|
28
|
-
{
|
|
29
|
-
question: 'Was ist der Ereignishorizont eines schwarzen Lochs?',
|
|
30
|
-
answer: 'Der Ereignishorizont ist die Grenze, an der die Fluchtgeschwindigkeit die Lichtgeschwindigkeit erreicht. Sobald ein Objekt ihn überquert, kann kein Signal, das sich mit oder unter Lichtgeschwindigkeit bewegt, zum äußeren Universum zurückkehren.',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: 'Was bedeutet der Schwarzschild-Radius?',
|
|
34
|
-
answer: 'Der Schwarzschild-Radius ist der Ereignishorizont-Radius für ein nicht rotierendes, ungeladenes schwarzes Loch. Er wächst linear mit der Masse, sodass eine Verdopplung der Masse den Horizontradius verdoppelt.',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
question: 'Was ist die Photonensphäre?',
|
|
38
|
-
answer: 'Die Photonensphäre ist eine Region bei 1,5 Schwarzschild-Radien, in der Licht auf einem instabilen Pfad um das schwarze Loch kreisen kann. Winzige Störungen lassen Photonen entweder nach außen entkommen oder nach innen fallen.',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
question: 'Was ist die ISCO?',
|
|
42
|
-
answer: 'ISCO steht für "Innermost Stable Circular Orbit" (innerster stabiler kreisförmiger Orbit). Bei einem nicht rotierenden schwarzen Loch liegt sie bei 3 Schwarzschild-Radien bzw. 6 Gravitationsradien und markiert den letzten stabilen kreisförmigen Orbit für massereiche Teilchen.',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
question: 'Warum nimmt die Zeitdilatation in der Nähe des Horizonts zu?',
|
|
46
|
-
answer: 'In der Schwarzschild-Geometrie ticken Uhren, die tiefer im Gravitationsfeld liegen, langsamer relativ zu entfernten Beobachtern. Der angezeigte Faktor nähert sich Null, wenn sich die Sonde dem Ereignishorizont nähert.',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
question: 'Kann dieser Simulator ein rotierendes schwarzes Loch modellieren?',
|
|
50
|
-
answer: 'Nein. Er verwendet die Schwarzschild-Lösung, die keine Rotation und keine elektrische Ladung annimmt. Echte astrophysikalische schwarze Löcher rotieren oft, und die Rotation verändert die Horizontgröße, die ISCO-Position und das Verhalten der Scheibe.',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
question: 'Warum sind supermassive schwarze Löcher am Horizont weniger "tidal gewalttätig"?',
|
|
54
|
-
answer: 'Der Gezeitengradient am Horizont nimmt mit zunehmender Masse des schwarzen Lochs ab. Ein kleines stellares schwarzes Loch kann Objekte in der Nähe des Horizonts gewaltsam auseinanderziehen, während ein supermassives schwarzes Loch an dieser Grenze einen sanfteren lokalen Gradienten aufweisen kann.',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
question: 'Zeigt die Visualisierung ein echtes Bild eines schwarzen Lochs?',
|
|
58
|
-
answer: 'Es ist ein lehrreiches Diagramm, keine Raytracing-Beobachtung. Die Ringe und die Scheibe sind auf die vereinfachten Schwarzschild-Radien skaliert, damit die physikalischen Zonen leicht vergleichbar sind.',
|
|
59
|
-
},
|
|
60
|
-
];
|
|
61
|
-
|
|
62
|
-
export const content: ToolLocaleContent = {
|
|
63
|
-
slug,
|
|
64
|
-
title,
|
|
65
|
-
description,
|
|
66
|
-
ui: {
|
|
67
|
-
visualTitle: 'Ereignishorizont-Feldkarte',
|
|
68
|
-
visualCaption: 'Die Sonde bewegt sich durch die skalierte Schwarzschild-Geometrie. Die hellen Leitringe markieren den Horizont, die Photonensphäre und den innersten stabilen kreisförmigen Orbit.',
|
|
69
|
-
controlsTitle: 'Steuerung des schwarzen Lochs',
|
|
70
|
-
eventHorizon: 'Ereignishorizont',
|
|
71
|
-
photonSphere: 'Photonensphäre',
|
|
72
|
-
isco: 'ISCO',
|
|
73
|
-
rsLabel: 'Schwarzschild-Radius',
|
|
74
|
-
diameterLabel: 'Durchmesser',
|
|
75
|
-
timeLabel: 'Zeitdilatation',
|
|
76
|
-
redshiftLabel: 'Rotverschiebung',
|
|
77
|
-
statusSafe: 'Außerhalb der stabilen Orbitregion',
|
|
78
|
-
statusPhoton: 'Innerhalb der Photonensphären-Zone',
|
|
79
|
-
statusInside: 'An der Horizontgrenze',
|
|
80
|
-
diameter: 'Horizontdurchmesser',
|
|
81
|
-
lightCrossing: 'Lichtdurchquerungszeit',
|
|
82
|
-
timeDilation: 'Uhrenrate vs. entfernter Beobachter',
|
|
83
|
-
redshift: 'Gravitative Rotverschiebung',
|
|
84
|
-
mass: 'Masse des schwarzen Lochs',
|
|
85
|
-
distance: 'Sondenentfernung',
|
|
86
|
-
speed: 'Orbitalgeschwindigkeit der Sonde',
|
|
87
|
-
escapeVelocity: 'Fluchtgeschwindigkeit',
|
|
88
|
-
orbitalPeriod: 'Umlaufzeit der Sonde',
|
|
89
|
-
tidalGradient: 'Gezeitengradient',
|
|
90
|
-
kilometerUnit: 'km',
|
|
91
|
-
millisecondUnit: 'ms',
|
|
92
|
-
secondUnit: 's',
|
|
93
|
-
lightSpeedUnit: '% c',
|
|
94
|
-
tidalUnit: 'g/m',
|
|
95
|
-
solarMassesUnit: 'Sonnenmassen',
|
|
96
|
-
rsUnit: 'Rs',
|
|
97
|
-
zeroKilometers: '0 km',
|
|
98
|
-
zeroMilliseconds: '0 ms',
|
|
99
|
-
zeroMultiplier: '0x',
|
|
100
|
-
zeroLightSpeed: '0% c',
|
|
101
|
-
zeroTidal: '0 g/m',
|
|
102
|
-
initialMassOutput: '10 Sonnenmassen',
|
|
103
|
-
initialDistanceOutput: '3.0 Rs',
|
|
104
|
-
initialSpeedOutput: '32% c',
|
|
105
|
-
},
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'schwarzes-loch-ereignishorizont-simulator';
|
|
5
|
+
const title = 'Schwarzes Loch Ereignishorizont Simulator';
|
|
6
|
+
const description = 'Erkunden Sie den Ereignishorizont eines schwarzen Lochs mit interaktiven Berechnungen von Masse, Orbitdistanz, Zeitdilatation, Photonensphäre, Fluchtgeschwindigkeit und Schwarzschild-Radius.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Wählen Sie die Masse des schwarzen Lochs',
|
|
11
|
+
text: 'Bewegen Sie den Masse-Regler von einem stellaren schwarzen Loch zu einem supermassiven schwarzen Loch und beobachten Sie, wie der Schwarzschild-Radius in Echtzeit skaliert.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Bewegen Sie die Sonde nahe an den Horizont',
|
|
15
|
+
text: 'Stellen Sie die Entfernung in Schwarzschild-Radien ein, um einen sicheren äußeren Orbit, die Region der Photonensphäre und den Rand des Ereignishorizonts zu vergleichen.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Untersuchen Sie relativistische Effekte',
|
|
19
|
+
text: 'Lesen Sie die Fluchtgeschwindigkeit, die gravitative Zeitdilatation, die Rotverschiebung und die Umlaufzeit ab, um zu verstehen, warum die gewöhnliche Intuition in der Nähe des Horizonts versagt.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Vergleichen Sie die charakteristischen Radien',
|
|
23
|
+
text: 'Nutzen Sie die Leitringe für Ereignishorizont, Photonensphäre und ISCO, um die verschiedenen Grenzen um ein nicht rotierendes schwarzes Loch zu verstehen.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Was ist der Ereignishorizont eines schwarzen Lochs?',
|
|
30
|
+
answer: 'Der Ereignishorizont ist die Grenze, an der die Fluchtgeschwindigkeit die Lichtgeschwindigkeit erreicht. Sobald ein Objekt ihn überquert, kann kein Signal, das sich mit oder unter Lichtgeschwindigkeit bewegt, zum äußeren Universum zurückkehren.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Was bedeutet der Schwarzschild-Radius?',
|
|
34
|
+
answer: 'Der Schwarzschild-Radius ist der Ereignishorizont-Radius für ein nicht rotierendes, ungeladenes schwarzes Loch. Er wächst linear mit der Masse, sodass eine Verdopplung der Masse den Horizontradius verdoppelt.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Was ist die Photonensphäre?',
|
|
38
|
+
answer: 'Die Photonensphäre ist eine Region bei 1,5 Schwarzschild-Radien, in der Licht auf einem instabilen Pfad um das schwarze Loch kreisen kann. Winzige Störungen lassen Photonen entweder nach außen entkommen oder nach innen fallen.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Was ist die ISCO?',
|
|
42
|
+
answer: 'ISCO steht für "Innermost Stable Circular Orbit" (innerster stabiler kreisförmiger Orbit). Bei einem nicht rotierenden schwarzen Loch liegt sie bei 3 Schwarzschild-Radien bzw. 6 Gravitationsradien und markiert den letzten stabilen kreisförmigen Orbit für massereiche Teilchen.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'Warum nimmt die Zeitdilatation in der Nähe des Horizonts zu?',
|
|
46
|
+
answer: 'In der Schwarzschild-Geometrie ticken Uhren, die tiefer im Gravitationsfeld liegen, langsamer relativ zu entfernten Beobachtern. Der angezeigte Faktor nähert sich Null, wenn sich die Sonde dem Ereignishorizont nähert.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
question: 'Kann dieser Simulator ein rotierendes schwarzes Loch modellieren?',
|
|
50
|
+
answer: 'Nein. Er verwendet die Schwarzschild-Lösung, die keine Rotation und keine elektrische Ladung annimmt. Echte astrophysikalische schwarze Löcher rotieren oft, und die Rotation verändert die Horizontgröße, die ISCO-Position und das Verhalten der Scheibe.',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
question: 'Warum sind supermassive schwarze Löcher am Horizont weniger "tidal gewalttätig"?',
|
|
54
|
+
answer: 'Der Gezeitengradient am Horizont nimmt mit zunehmender Masse des schwarzen Lochs ab. Ein kleines stellares schwarzes Loch kann Objekte in der Nähe des Horizonts gewaltsam auseinanderziehen, während ein supermassives schwarzes Loch an dieser Grenze einen sanfteren lokalen Gradienten aufweisen kann.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
question: 'Zeigt die Visualisierung ein echtes Bild eines schwarzen Lochs?',
|
|
58
|
+
answer: 'Es ist ein lehrreiches Diagramm, keine Raytracing-Beobachtung. Die Ringe und die Scheibe sind auf die vereinfachten Schwarzschild-Radien skaliert, damit die physikalischen Zonen leicht vergleichbar sind.',
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
export const content: ToolLocaleContent = {
|
|
63
|
+
slug,
|
|
64
|
+
title,
|
|
65
|
+
description,
|
|
66
|
+
ui: {
|
|
67
|
+
visualTitle: 'Ereignishorizont-Feldkarte',
|
|
68
|
+
visualCaption: 'Die Sonde bewegt sich durch die skalierte Schwarzschild-Geometrie. Die hellen Leitringe markieren den Horizont, die Photonensphäre und den innersten stabilen kreisförmigen Orbit.',
|
|
69
|
+
controlsTitle: 'Steuerung des schwarzen Lochs',
|
|
70
|
+
eventHorizon: 'Ereignishorizont',
|
|
71
|
+
photonSphere: 'Photonensphäre',
|
|
72
|
+
isco: 'ISCO',
|
|
73
|
+
rsLabel: 'Schwarzschild-Radius',
|
|
74
|
+
diameterLabel: 'Durchmesser',
|
|
75
|
+
timeLabel: 'Zeitdilatation',
|
|
76
|
+
redshiftLabel: 'Rotverschiebung',
|
|
77
|
+
statusSafe: 'Außerhalb der stabilen Orbitregion',
|
|
78
|
+
statusPhoton: 'Innerhalb der Photonensphären-Zone',
|
|
79
|
+
statusInside: 'An der Horizontgrenze',
|
|
80
|
+
diameter: 'Horizontdurchmesser',
|
|
81
|
+
lightCrossing: 'Lichtdurchquerungszeit',
|
|
82
|
+
timeDilation: 'Uhrenrate vs. entfernter Beobachter',
|
|
83
|
+
redshift: 'Gravitative Rotverschiebung',
|
|
84
|
+
mass: 'Masse des schwarzen Lochs',
|
|
85
|
+
distance: 'Sondenentfernung',
|
|
86
|
+
speed: 'Orbitalgeschwindigkeit der Sonde',
|
|
87
|
+
escapeVelocity: 'Fluchtgeschwindigkeit',
|
|
88
|
+
orbitalPeriod: 'Umlaufzeit der Sonde',
|
|
89
|
+
tidalGradient: 'Gezeitengradient',
|
|
90
|
+
kilometerUnit: 'km',
|
|
91
|
+
millisecondUnit: 'ms',
|
|
92
|
+
secondUnit: 's',
|
|
93
|
+
lightSpeedUnit: '% c',
|
|
94
|
+
tidalUnit: 'g/m',
|
|
95
|
+
solarMassesUnit: 'Sonnenmassen',
|
|
96
|
+
rsUnit: 'Rs',
|
|
97
|
+
zeroKilometers: '0 km',
|
|
98
|
+
zeroMilliseconds: '0 ms',
|
|
99
|
+
zeroMultiplier: '0x',
|
|
100
|
+
zeroLightSpeed: '0% c',
|
|
101
|
+
zeroTidal: '0 g/m',
|
|
102
|
+
initialMassOutput: '10 Sonnenmassen',
|
|
103
|
+
initialDistanceOutput: '3.0 Rs',
|
|
104
|
+
initialSpeedOutput: '32% c',
|
|
105
|
+
},
|
|
106
106
|
seo: [
|
|
107
|
-
{
|
|
108
|
-
type: 'title',
|
|
109
|
-
text: 'Schwarzes Loch Ereignishorizont Simulator für Schwarzschild-Radius, Photonensphäre und Zeitdilatation',
|
|
110
|
-
level: 2,
|
|
111
|
-
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: 'Schwarzes Loch Ereignishorizont Simulator für Schwarzschild-Radius, Photonensphäre und Zeitdilatation',
|
|
110
|
+
level: 2,
|
|
111
|
+
},
|
|
112
112
|
{
|
|
113
113
|
type: 'paragraph',
|
|
114
114
|
html: 'Dieser Schwarzes Loch Ereignishorizont Simulator verwandelt die Kernideen von Schwarzschild-schwarzen Löchern in ein interaktives visuelles Modell.',
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
117
|
type: 'paragraph',
|
|
118
|
-
html: 'Der
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
type: 'title',
|
|
122
|
-
text: 'Wie der Ereignishorizont-Radius berechnet wird',
|
|
123
|
-
level: 3,
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
type: 'paragraph',
|
|
127
|
-
html: 'Für ein nicht rotierendes, ungeladenes schwarzes Loch ist der Ereignishorizont-Radius der <strong>Schwarzschild-Radius</strong>. Er wird berechnet als <strong>Rs = 2GM / c^2</strong>.',
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
type: 'paragraph',
|
|
131
|
-
html: 'Da der Schwarzschild-Radius linear mit der Masse skaliert, hat ein schwarzes Loch mit 10 Sonnenmassen einen Radius von etwa 29,5 Kilometern.',
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
type: 'table',
|
|
135
|
-
headers: ['Region', 'Radius in Schwarzschild-Radien', 'Bedeutung'],
|
|
136
|
-
rows: [
|
|
137
|
-
['Ereignishorizont', '1.0 Rs', 'Die Einweg-Grenze, an der die Fluchtgeschwindigkeit der Lichtgeschwindigkeit entspricht.'],
|
|
138
|
-
['Photonensphäre', '1.5 Rs', 'Der instabile kreisförmige Orbit für Licht um ein Schwarzschild-schwarzes Loch.'],
|
|
139
|
-
['ISCO', '3.0 Rs', 'Der innerste stabile kreisförmige Orbit für massereiche Teilchen.'],
|
|
140
|
-
['Schwaches Feld', '6 Rs und darüber', 'Die Schwerkraft ist immer noch stark, aber kreisförmige Orbits sind leichter aufrechtzuerhalten.'],
|
|
141
|
-
],
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
type: 'title',
|
|
145
|
-
text: 'Fluchtgeschwindigkeit und warum der Horizont eine kausale Grenze ist',
|
|
146
|
-
level: 3,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
type: 'paragraph',
|
|
150
|
-
html: 'Die Fluchtgeschwindigkeit ist die Geschwindigkeit, die ein Objekt benötigt, um ohne zusätzlichen Antrieb beliebig weit zu entkommen.',
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
type: 'paragraph',
|
|
154
|
-
html: 'Die Fluchtgeschwindigkeitsanzeige liefert eine nützliche Intuition, sollte jedoch nicht als vollständige relativistische Beschreibung gelesen werden.',
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
type: 'title',
|
|
158
|
-
text: 'Zeitdilatation und gravitative Rotverschiebung nahe einem schwarzen Loch',
|
|
159
|
-
level: 3,
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
type: 'paragraph',
|
|
163
|
-
html: 'Eine Uhr, die an einem festen Radius außerhalb eines Schwarzschild-schwarzen Lochs gehalten wird, tickt im Vergleich zu einem entfernten Beobachter langsamer. Der vereinfachte Faktor ist <strong>sqrt(1 - Rs / r)</strong>.',
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
type: 'paragraph',
|
|
167
|
-
html: 'Die gravitative Rotverschiebung folgt derselben Geometrie. Licht, das aus dem Gravitationspotenzial aufsteigt, verliert Energie.',
|
|
118
|
+
html: 'Verändere die Masse des Schwarzen Lochs und vergleiche Schwarzschild-Radius, Photonensphäre und den Abstand des Beobachters. Der Schwarzschild-Radius markiert in diesem vereinfachten Modell die Grenze, an der die Fluchtgeschwindigkeit der Lichtgeschwindigkeit entspricht. Die Photonensphäre liegt außerhalb und beschreibt eine ideale Kreisbahn für Licht, die durch kleinste Störungen instabil wird. Beobachte außerdem, wie sich die Zeitdilatation mit der Nähe zum Ereignishorizont verändert und wie die Anfangsgeschwindigkeit eines fallenden Körpers die Darstellung beeinflusst. Die Zahlen dienen dem Verständnis der Geometrie der Schwarzschild-Metrik; sie berücksichtigen weder Rotation noch elektrische Ladung, Akkretionsscheiben, Magnetfelder oder Gezeitenkräfte eines realen astrophysikalischen Systems. Nutze die Regler daher zum Vergleichen von Größenordnungen und nicht als Vorhersage für eine konkrete Reise zu einem Schwarzen Loch. Der Radius wächst linear mit der Masse, während die sichtbaren Abstände und die Zeitdarstellung von den gewählten Beobachterpositionen abhängen. Dadurch lässt sich nachvollziehen, warum ein supermassereiches Schwarzes Loch trotz größerem Horizont andere lokale Gezeitenbedingungen haben kann als ein kleineres Objekt. Die Darstellung verwendet Koordinaten eines idealen Schwarzschild-Falls und blendet die Rotation aus. Für astrophysikalische Beobachtungen sind zusätzlich Strahlung, Materieverteilung, Linseneffekte und die Dynamik der Umgebung zu berücksichtigen. Vergleiche deshalb zuerst einfache Parameteränderungen und notiere anschließend, welche Annahmen des Modells die Interpretation begrenzen.',
|
|
168
119
|
},
|
|
169
|
-
{
|
|
170
|
-
type: '
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
type: 'paragraph',
|
|
180
|
-
html: '
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
type: '
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
type: 'title',
|
|
211
|
-
text: '
|
|
212
|
-
level: 3,
|
|
213
|
-
},
|
|
214
|
-
{
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: 'Der Simulator wurde für Astronomiestudenten, Physiklehrer und Wissenschaftsautoren entwickelt.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Wie der Ereignishorizont-Radius berechnet wird',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'Für ein nicht rotierendes, ungeladenes schwarzes Loch ist der Ereignishorizont-Radius der <strong>Schwarzschild-Radius</strong>. Er wird berechnet als <strong>Rs = 2GM / c^2</strong>.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'paragraph',
|
|
135
|
+
html: 'Da der Schwarzschild-Radius linear mit der Masse skaliert, hat ein schwarzes Loch mit 10 Sonnenmassen einen Radius von etwa 29,5 Kilometern.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Region', 'Radius in Schwarzschild-Radien', 'Bedeutung'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Ereignishorizont', '1.0 Rs', 'Die Einweg-Grenze, an der die Fluchtgeschwindigkeit der Lichtgeschwindigkeit entspricht.'],
|
|
142
|
+
['Photonensphäre', '1.5 Rs', 'Der instabile kreisförmige Orbit für Licht um ein Schwarzschild-schwarzes Loch.'],
|
|
143
|
+
['ISCO', '3.0 Rs', 'Der innerste stabile kreisförmige Orbit für massereiche Teilchen.'],
|
|
144
|
+
['Schwaches Feld', '6 Rs und darüber', 'Die Schwerkraft ist immer noch stark, aber kreisförmige Orbits sind leichter aufrechtzuerhalten.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Fluchtgeschwindigkeit und warum der Horizont eine kausale Grenze ist',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'Die Fluchtgeschwindigkeit ist die Geschwindigkeit, die ein Objekt benötigt, um ohne zusätzlichen Antrieb beliebig weit zu entkommen.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Die Fluchtgeschwindigkeitsanzeige liefert eine nützliche Intuition, sollte jedoch nicht als vollständige relativistische Beschreibung gelesen werden.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Zeitdilatation und gravitative Rotverschiebung nahe einem schwarzen Loch',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Eine Uhr, die an einem festen Radius außerhalb eines Schwarzschild-schwarzen Lochs gehalten wird, tickt im Vergleich zu einem entfernten Beobachter langsamer. Der vereinfachte Faktor ist <strong>sqrt(1 - Rs / r)</strong>.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Die gravitative Rotverschiebung folgt derselben Geometrie. Licht, das aus dem Gravitationspotenzial aufsteigt, verliert Energie.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'title',
|
|
175
|
+
text: 'Photonensphäre und ISCO erklärt',
|
|
176
|
+
level: 3,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'paragraph',
|
|
180
|
+
html: 'Die Photonensphäre bei 1.5 Rs ist der Ort, an dem Licht im Prinzip einem kreisförmigen Orbit folgen kann.',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'paragraph',
|
|
184
|
+
html: 'Die ISCO bei 3 Rs ist der innerste stabile kreisförmige Orbit für massereiche Teilchen.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'title',
|
|
188
|
+
text: 'Stellare im Vergleich zu supermassiven schwarzen Löchern',
|
|
189
|
+
level: 3,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'paragraph',
|
|
193
|
+
html: 'Eine überraschende Lektion ist, dass größere schwarze Löcher am Horizont weniger destruktiv wirken können.',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'paragraph',
|
|
197
|
+
html: 'Der Simulator enthält eine Gezeitengradienten-Anzeige in Erdschwerkraft pro Meter.',
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
type: 'title',
|
|
201
|
+
text: 'Einschränkungen dieses Simulators',
|
|
202
|
+
level: 3,
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: 'list',
|
|
206
|
+
items: [
|
|
207
|
+
'<strong>Kein Spin:</strong> verwendet Schwarzschild-Geometrie.',
|
|
208
|
+
'<strong>Keine Akkretionsphysik:</strong> vereinfachte Scheibenanzeige.',
|
|
209
|
+
'<strong>Kein Raytracing:</strong> didaktisches Diagramm.',
|
|
210
|
+
'<strong>Kein freier Fall:</strong> stationäre Beobachteruhr.',
|
|
211
|
+
],
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
type: 'title',
|
|
215
|
+
text: 'Häufige Fragen',
|
|
216
|
+
level: 3,
|
|
217
|
+
},
|
|
218
|
+
{
|
|
215
219
|
type: 'paragraph',
|
|
216
220
|
html: 'Verwenden Sie dieses Tool zur Schätzung der Parameter eines schwarzen Lochs.',
|
|
217
221
|
},
|
|
218
|
-
],
|
|
219
|
-
faq,
|
|
220
|
-
bibliography,
|
|
221
|
-
howTo,
|
|
222
|
-
schemas: [
|
|
223
|
-
{
|
|
224
|
-
'@context': 'https://schema.org',
|
|
225
|
-
'@type': 'SoftwareApplication',
|
|
226
|
-
name: title,
|
|
227
|
-
description,
|
|
228
|
-
applicationCategory: 'ScientificApplication',
|
|
229
|
-
operatingSystem: 'Any',
|
|
230
|
-
},
|
|
231
222
|
{
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
mainEntity: faq.map((item) => ({
|
|
235
|
-
'@type': 'Question',
|
|
236
|
-
name: item.question,
|
|
237
|
-
acceptedAnswer: {
|
|
238
|
-
'@type': 'Answer',
|
|
239
|
-
text: item.answer,
|
|
240
|
-
},
|
|
241
|
-
})),
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
'@context': 'https://schema.org',
|
|
245
|
-
'@type': 'HowTo',
|
|
246
|
-
name: title,
|
|
247
|
-
step: howTo.map((step) => ({
|
|
248
|
-
'@type': 'HowToStep',
|
|
249
|
-
name: step.name,
|
|
250
|
-
text: step.text,
|
|
251
|
-
})),
|
|
223
|
+
type: 'paragraph',
|
|
224
|
+
html: 'Vergleiche mehrere Massen und Beobachterabstände, um zu sehen, wie der Schwarzschild-Radius skaliert. Eine größere Masse vergrößert den Horizont proportional, während die Lichtbahnen und die Zeitdarstellung vom gewählten Bezugssystem abhängen. Die Photonensphäre ist keine feste Oberfläche, sondern eine ideale, instabile Bahn für Licht. In der Nähe des Horizonts werden Unterschiede zwischen Koordinatenzeit und Eigenzeit besonders anschaulich. Das Modell beschränkt sich bewusst auf ein nicht rotierendes, elektrisch neutrales Schwarzes Loch und enthält keine Akkretionsscheibe, keine Magnetfelder und keine komplizierte Materiedynamik. Auch Gezeitenkräfte hängen vom Maßstab des Objekts und vom Ort des Beobachters ab. Verwende die Simulation deshalb, um Begriffe und Größenordnungen zu vergleichen, und nicht als Anleitung für eine reale Reise. Für astronomische Anwendungen wären zusätzliche Messdaten, relativistische Modelle und eine genaue Beschreibung der Umgebung erforderlich.',
|
|
252
225
|
},
|
|
253
|
-
],
|
|
254
|
-
|
|
226
|
+
],
|
|
227
|
+
faq,
|
|
228
|
+
bibliography,
|
|
229
|
+
howTo,
|
|
230
|
+
schemas: [
|
|
231
|
+
{
|
|
232
|
+
'@context': 'https://schema.org',
|
|
233
|
+
'@type': 'SoftwareApplication',
|
|
234
|
+
name: title,
|
|
235
|
+
description,
|
|
236
|
+
applicationCategory: 'ScientificApplication',
|
|
237
|
+
operatingSystem: 'Any',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
'@context': 'https://schema.org',
|
|
241
|
+
'@type': 'FAQPage',
|
|
242
|
+
mainEntity: faq.map((item) => ({
|
|
243
|
+
'@type': 'Question',
|
|
244
|
+
name: item.question,
|
|
245
|
+
acceptedAnswer: {
|
|
246
|
+
'@type': 'Answer',
|
|
247
|
+
text: item.answer,
|
|
248
|
+
},
|
|
249
|
+
})),
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
'@context': 'https://schema.org',
|
|
253
|
+
'@type': 'HowTo',
|
|
254
|
+
name: title,
|
|
255
|
+
step: howTo.map((step) => ({
|
|
256
|
+
'@type': 'HowToStep',
|
|
257
|
+
name: step.name,
|
|
258
|
+
text: step.text,
|
|
259
|
+
})),
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
};
|