@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,169 +1,169 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'global-albedo-snowball-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
|
-
name: '读取气候状态',
|
|
23
|
-
text: '使用温度、吸收辐射、最终冰覆盖和时间线曲线来比较温带、雪球和温室结果。',
|
|
24
|
-
},
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const faq = [
|
|
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
|
-
controls: '气候控制',
|
|
52
|
-
solarConstant: '太阳常数',
|
|
53
|
-
greenhouse: '温室气体',
|
|
54
|
-
initialIce: '初始冰覆盖',
|
|
55
|
-
temperature: '平衡温度',
|
|
56
|
-
absorbed: '吸收的阳光',
|
|
57
|
-
finalIce: '最终冰覆盖',
|
|
58
|
-
albedo: '行星反照率',
|
|
59
|
-
forcing: '温室强迫',
|
|
60
|
-
state: '气候状态',
|
|
61
|
-
timeline: '冰覆盖变化',
|
|
62
|
-
years: '模型年',
|
|
63
|
-
snowball: '雪球锁定',
|
|
64
|
-
temperate: '温带平衡',
|
|
65
|
-
hothouse: '温室退缩',
|
|
66
|
-
retreating: '冰在退缩',
|
|
67
|
-
advancing: '冰在前进',
|
|
68
|
-
stable: '接近平衡',
|
|
69
|
-
watts: '{value} W/m2',
|
|
70
|
-
ppm: '{value} ppm',
|
|
71
|
-
percent: '{value}%',
|
|
72
|
-
celsius: '{value} C',
|
|
73
|
-
diagnostics: '辐射诊断',
|
|
74
|
-
},
|
|
75
|
-
seo: [
|
|
76
|
-
{
|
|
77
|
-
type: 'title',
|
|
78
|
-
text: '用于冰反照率反馈和雪球地球的全球反照率模拟器',
|
|
79
|
-
level: 2,
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
type: 'paragraph',
|
|
83
|
-
html: '这个模拟器探索行星气候中最重要的反馈循环之一:冰覆盖、反射率和吸收阳光之间的联系。具有明亮冰的行星将更多入射太阳辐射反射回太空。这种冷却可以保持或扩大冰,进一步提高反照率,并将系统推向雪球地球状态。冰较少的行星吸收更多阳光,这可能加速冰消作用。',
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
type: 'paragraph',
|
|
87
|
-
html: '使用滑块改变太阳常数、温室气体浓度和初始冰覆盖。然后模型迭代一个简单的全球能量平衡,并显示气候是向广泛冰川作用、温带平衡还是高温低冰状态移动。它设计用于快速直觉:每个控制直接映射到辐射收支中的一个物理项。',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
type: 'title',
|
|
91
|
-
text: '能量平衡如何估算',
|
|
92
|
-
level: 3,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
type: 'paragraph',
|
|
96
|
-
html: '吸收的短波辐射估算为 S(1 - a) / 4,其中 S 是太阳常数,a 是行星反照率。除以四将地球圆盘拦截的阳光转换为整个球形表面的平均值。更高的反照率降低吸收的能量;更高的温室气体浓度增加正辐射强迫,从而提高地表温度估算。',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
type: 'table',
|
|
100
|
-
headers: ['控制', '物理意义', '气候效应'],
|
|
101
|
-
rows: [
|
|
102
|
-
['太阳常数', '地球轨道处的入射恒星能量', '更高的值使行星变暖并缩小冰。'],
|
|
103
|
-
['温室气体', '相对于参考大气层的长波辐射强迫', '更高的值使雪球锁定更困难。'],
|
|
104
|
-
['初始冰覆盖', '行星的初始反射率', '高值可以通过反照率反馈触发失控冷却。'],
|
|
105
|
-
],
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
type: 'title',
|
|
109
|
-
text: '为什么反照率反馈可能变得非线性',
|
|
110
|
-
level: 3,
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
type: 'paragraph',
|
|
114
|
-
html: '冰反照率循环不是一个温和的单向调整。一旦冰到达行星的足够部分,更亮的表面可以去除如此多的吸收阳光,以至于夏季融化变得微弱。在相反方向,退缩的冰暴露出更暗的海洋和陆地,增加吸收,将行星推离冰川作用。这就是为什么类似的强迫可以根据初始冰覆盖产生不同的结果。',
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
type: 'paragraph',
|
|
118
|
-
html: '真实地球增加了许多复杂性:云、冰上的尘埃、海洋热传输、大陆位置、季节性阳光、海冰动态和碳循环。简单模型仍然有价值,因为它隔离了一阶辐射收支。它让你看到为什么雪球地球假说既依赖于微弱的阳光或高反照率触发因素,也依赖于后来用于逃脱的温室气体积累。',
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
type: 'title',
|
|
122
|
-
text: '模拟器解读',
|
|
123
|
-
level: 3,
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
type: 'list',
|
|
127
|
-
items: [
|
|
128
|
-
'<strong>雪球锁定:</strong>最终冰覆盖非常高,平衡温度仍远低于冰点。',
|
|
129
|
-
'<strong>温带平衡:</strong>模型以部分冰覆盖和中等吸收辐射稳定下来。',
|
|
130
|
-
'<strong>温室退缩:</strong>冰崩溃到非常小的比例,而温室强迫和吸收的阳光保持高位。',
|
|
131
|
-
],
|
|
132
|
-
},
|
|
133
|
-
],
|
|
134
|
-
faq,
|
|
135
|
-
bibliography,
|
|
136
|
-
howTo,
|
|
137
|
-
schemas: [
|
|
138
|
-
{
|
|
139
|
-
'@context': 'https://schema.org',
|
|
140
|
-
'@type': 'SoftwareApplication',
|
|
141
|
-
name: title,
|
|
142
|
-
description,
|
|
143
|
-
applicationCategory: 'ScientificApplication',
|
|
144
|
-
operatingSystem: 'Any',
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
'@context': 'https://schema.org',
|
|
148
|
-
'@type': 'FAQPage',
|
|
149
|
-
mainEntity: faq.map((item) => ({
|
|
150
|
-
'@type': 'Question',
|
|
151
|
-
name: item.question,
|
|
152
|
-
acceptedAnswer: {
|
|
153
|
-
'@type': 'Answer',
|
|
154
|
-
text: item.answer,
|
|
155
|
-
},
|
|
156
|
-
})),
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
'@context': 'https://schema.org',
|
|
160
|
-
'@type': 'HowTo',
|
|
161
|
-
name: title,
|
|
162
|
-
step: howTo.map((step) => ({
|
|
163
|
-
'@type': 'HowToStep',
|
|
164
|
-
name: step.name,
|
|
165
|
-
text: step.text,
|
|
166
|
-
})),
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
};
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'global-albedo-snowball-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
|
+
name: '读取气候状态',
|
|
23
|
+
text: '使用温度、吸收辐射、最终冰覆盖和时间线曲线来比较温带、雪球和温室结果。',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
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
|
+
controls: '气候控制',
|
|
52
|
+
solarConstant: '太阳常数',
|
|
53
|
+
greenhouse: '温室气体',
|
|
54
|
+
initialIce: '初始冰覆盖',
|
|
55
|
+
temperature: '平衡温度',
|
|
56
|
+
absorbed: '吸收的阳光',
|
|
57
|
+
finalIce: '最终冰覆盖',
|
|
58
|
+
albedo: '行星反照率',
|
|
59
|
+
forcing: '温室强迫',
|
|
60
|
+
state: '气候状态',
|
|
61
|
+
timeline: '冰覆盖变化',
|
|
62
|
+
years: '模型年',
|
|
63
|
+
snowball: '雪球锁定',
|
|
64
|
+
temperate: '温带平衡',
|
|
65
|
+
hothouse: '温室退缩',
|
|
66
|
+
retreating: '冰在退缩',
|
|
67
|
+
advancing: '冰在前进',
|
|
68
|
+
stable: '接近平衡',
|
|
69
|
+
watts: '{value} W/m2',
|
|
70
|
+
ppm: '{value} ppm',
|
|
71
|
+
percent: '{value}%',
|
|
72
|
+
celsius: '{value} C',
|
|
73
|
+
diagnostics: '辐射诊断',
|
|
74
|
+
},
|
|
75
|
+
seo: [
|
|
76
|
+
{
|
|
77
|
+
type: 'title',
|
|
78
|
+
text: '用于冰反照率反馈和雪球地球的全球反照率模拟器',
|
|
79
|
+
level: 2,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'paragraph',
|
|
83
|
+
html: '这个模拟器探索行星气候中最重要的反馈循环之一:冰覆盖、反射率和吸收阳光之间的联系。具有明亮冰的行星将更多入射太阳辐射反射回太空。这种冷却可以保持或扩大冰,进一步提高反照率,并将系统推向雪球地球状态。冰较少的行星吸收更多阳光,这可能加速冰消作用。',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: '使用滑块改变太阳常数、温室气体浓度和初始冰覆盖。然后模型迭代一个简单的全球能量平衡,并显示气候是向广泛冰川作用、温带平衡还是高温低冰状态移动。它设计用于快速直觉:每个控制直接映射到辐射收支中的一个物理项。',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'title',
|
|
91
|
+
text: '能量平衡如何估算',
|
|
92
|
+
level: 3,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'paragraph',
|
|
96
|
+
html: '吸收的短波辐射估算为 S(1 - a) / 4,其中 S 是太阳常数,a 是行星反照率。除以四将地球圆盘拦截的阳光转换为整个球形表面的平均值。更高的反照率降低吸收的能量;更高的温室气体浓度增加正辐射强迫,从而提高地表温度估算。',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'table',
|
|
100
|
+
headers: ['控制', '物理意义', '气候效应'],
|
|
101
|
+
rows: [
|
|
102
|
+
['太阳常数', '地球轨道处的入射恒星能量', '更高的值使行星变暖并缩小冰。'],
|
|
103
|
+
['温室气体', '相对于参考大气层的长波辐射强迫', '更高的值使雪球锁定更困难。'],
|
|
104
|
+
['初始冰覆盖', '行星的初始反射率', '高值可以通过反照率反馈触发失控冷却。'],
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: '为什么反照率反馈可能变得非线性',
|
|
110
|
+
level: 3,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: '冰反照率循环不是一个温和的单向调整。一旦冰到达行星的足够部分,更亮的表面可以去除如此多的吸收阳光,以至于夏季融化变得微弱。在相反方向,退缩的冰暴露出更暗的海洋和陆地,增加吸收,将行星推离冰川作用。这就是为什么类似的强迫可以根据初始冰覆盖产生不同的结果。',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'paragraph',
|
|
118
|
+
html: '真实地球增加了许多复杂性:云、冰上的尘埃、海洋热传输、大陆位置、季节性阳光、海冰动态和碳循环。简单模型仍然有价值,因为它隔离了一阶辐射收支。它让你看到为什么雪球地球假说既依赖于微弱的阳光或高反照率触发因素,也依赖于后来用于逃脱的温室气体积累。',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: '模拟器解读',
|
|
123
|
+
level: 3,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'list',
|
|
127
|
+
items: [
|
|
128
|
+
'<strong>雪球锁定:</strong>最终冰覆盖非常高,平衡温度仍远低于冰点。',
|
|
129
|
+
'<strong>温带平衡:</strong>模型以部分冰覆盖和中等吸收辐射稳定下来。',
|
|
130
|
+
'<strong>温室退缩:</strong>冰崩溃到非常小的比例,而温室强迫和吸收的阳光保持高位。',
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
faq,
|
|
135
|
+
bibliography,
|
|
136
|
+
howTo,
|
|
137
|
+
schemas: [
|
|
138
|
+
{
|
|
139
|
+
'@context': 'https://schema.org',
|
|
140
|
+
'@type': 'SoftwareApplication',
|
|
141
|
+
name: title,
|
|
142
|
+
description,
|
|
143
|
+
applicationCategory: 'ScientificApplication',
|
|
144
|
+
operatingSystem: 'Any',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
'@context': 'https://schema.org',
|
|
148
|
+
'@type': 'FAQPage',
|
|
149
|
+
mainEntity: faq.map((item) => ({
|
|
150
|
+
'@type': 'Question',
|
|
151
|
+
name: item.question,
|
|
152
|
+
acceptedAnswer: {
|
|
153
|
+
'@type': 'Answer',
|
|
154
|
+
text: item.answer,
|
|
155
|
+
},
|
|
156
|
+
})),
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
'@context': 'https://schema.org',
|
|
160
|
+
'@type': 'HowTo',
|
|
161
|
+
name: title,
|
|
162
|
+
step: howTo.map((step) => ({
|
|
163
|
+
'@type': 'HowToStep',
|
|
164
|
+
name: step.name,
|
|
165
|
+
text: step.text,
|
|
166
|
+
})),
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
};
|
|
@@ -1,145 +1,146 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'lorenz-attraktor-chaos-simulator';
|
|
5
|
-
const title = 'Lorenz Attraktor Chaos Simulator: Der Schmetterlingseffekt in 3D';
|
|
6
|
-
const description = 'Erkunden Sie die Chaostheorie mit dieser interaktiven 3D-Lorenz-Attraktor-Simulation. Visualisieren Sie den Schmetterlingseffekt.';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{
|
|
10
|
-
name: 'Leinwand drehen',
|
|
11
|
-
text: 'Klicken und ziehen Sie im 3D-Viewport, um den Attraktor zu drehen und seine komplexe Geometrie zu erkunden.'
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'Schieberegler anpassen',
|
|
15
|
-
text: 'Ändern Sie die Parameter Sigma, Rho und Beta, um zu beobachten, wie das System in chaotisches Verhalten übergeht.'
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'Divergenz beobachten',
|
|
19
|
-
text: 'Beobachten Sie, wie der Abstand zwischen zwei anfangs fast identischen Trajektorien exponentiell wächst.'
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'Pause und Reset',
|
|
23
|
-
text: 'Verwenden Sie die Steuerelemente, um die Simulation anzuhalten oder auf die Standardwerte zurückzusetzen.'
|
|
24
|
-
}
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const faq = [
|
|
28
|
-
{
|
|
29
|
-
question: 'Was ist der Lorenz-Attraktor?',
|
|
30
|
-
answer: 'Der Lorenz-Attraktor ist eine grafische Darstellung chaotischer Lösungen des Lorenz-Systems, eines dreidimensionalen mathematischen Modells, das das Verhalten von konvektiven Fluiden beschreibt.'
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: 'Was ist der Schmetterlingseffekt?',
|
|
34
|
-
answer: 'Es ist die sensible Abhängigkeit eines Systems von seinen Anfangsbedingungen, bei der winzige Änderungen große, divergente Auswirkungen im späteren Verlauf haben können.'
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
question: 'Was bedeuten die Parameter?',
|
|
38
|
-
answer: 'Sigma (σ) ist die Prandtl-Zahl (Verhältnis von Viskosität zu Wärmeleitfähigkeit), Rho (ρ) die Rayleigh-Zahl (Intensität der konvektiven Erwärmung) und Beta (β) das geometrische Aspektverhältnis der Konvektionszelle.'
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
question: 'Warum sieht der Attraktor wie ein Schmetterling aus?',
|
|
42
|
-
answer: 'Die ikonische Doppel-Flügel-Form entsteht, weil das System zwei instabile Gleichgewichtspunkte hat, um die die Trajektorien unvorhersehbar kreisen.'
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
question: 'Ist der Lorenz-Attraktor wirklich zufällig?',
|
|
46
|
-
answer: 'Nein, das System ist völlig deterministisch. Da es jedoch chaotisch ist, ist es ohne unendliche Präzision der Anfangsbedingungen langfristig unvorhersehbar.'
|
|
47
|
-
}
|
|
48
|
-
];
|
|
49
|
-
|
|
50
|
-
export const content: ToolLocaleContent = {
|
|
51
|
-
slug,
|
|
52
|
-
title,
|
|
53
|
-
description,
|
|
54
|
-
ui: {
|
|
55
|
-
copied: 'Kopiert',
|
|
56
|
-
noHistory: 'Kein Verlauf',
|
|
57
|
-
load: 'Laden',
|
|
58
|
-
delete: 'Löschen',
|
|
59
|
-
title: 'Lorenz Attraktor',
|
|
60
|
-
subTitle: 'Deterministisches Chaos',
|
|
61
|
-
parameterControls: 'Systemparameter',
|
|
62
|
-
simulationSpeed: 'Geschwindigkeit (dt)',
|
|
63
|
-
initialPerturbation: 'Anfängliche Störung (dx)',
|
|
64
|
-
trajectories: 'Trajektorien',
|
|
65
|
-
distance: 'Divergenzabstand',
|
|
66
|
-
exponentialGrowth: 'Exponentielle Divergenz',
|
|
67
|
-
resetDefault: 'Reset',
|
|
68
|
-
clearPath: 'Pfad löschen',
|
|
69
|
-
play: 'Resume',
|
|
70
|
-
pause: 'Pause',
|
|
71
|
-
coords: 'Koordinaten',
|
|
72
|
-
divergenceExplanation: 'Das Divergenzdiagramm zeigt den euklidischen Abstand zwischen den beiden Trajektorien im Laufe der Zeit.'
|
|
73
|
-
},
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'lorenz-attraktor-chaos-simulator';
|
|
5
|
+
const title = 'Lorenz Attraktor Chaos Simulator: Der Schmetterlingseffekt in 3D';
|
|
6
|
+
const description = 'Erkunden Sie die Chaostheorie mit dieser interaktiven 3D-Lorenz-Attraktor-Simulation. Visualisieren Sie den Schmetterlingseffekt.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Leinwand drehen',
|
|
11
|
+
text: 'Klicken und ziehen Sie im 3D-Viewport, um den Attraktor zu drehen und seine komplexe Geometrie zu erkunden.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Schieberegler anpassen',
|
|
15
|
+
text: 'Ändern Sie die Parameter Sigma, Rho und Beta, um zu beobachten, wie das System in chaotisches Verhalten übergeht.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Divergenz beobachten',
|
|
19
|
+
text: 'Beobachten Sie, wie der Abstand zwischen zwei anfangs fast identischen Trajektorien exponentiell wächst.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Pause und Reset',
|
|
23
|
+
text: 'Verwenden Sie die Steuerelemente, um die Simulation anzuhalten oder auf die Standardwerte zurückzusetzen.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Was ist der Lorenz-Attraktor?',
|
|
30
|
+
answer: 'Der Lorenz-Attraktor ist eine grafische Darstellung chaotischer Lösungen des Lorenz-Systems, eines dreidimensionalen mathematischen Modells, das das Verhalten von konvektiven Fluiden beschreibt.'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Was ist der Schmetterlingseffekt?',
|
|
34
|
+
answer: 'Es ist die sensible Abhängigkeit eines Systems von seinen Anfangsbedingungen, bei der winzige Änderungen große, divergente Auswirkungen im späteren Verlauf haben können.'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Was bedeuten die Parameter?',
|
|
38
|
+
answer: 'Sigma (σ) ist die Prandtl-Zahl (Verhältnis von Viskosität zu Wärmeleitfähigkeit), Rho (ρ) die Rayleigh-Zahl (Intensität der konvektiven Erwärmung) und Beta (β) das geometrische Aspektverhältnis der Konvektionszelle.'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Warum sieht der Attraktor wie ein Schmetterling aus?',
|
|
42
|
+
answer: 'Die ikonische Doppel-Flügel-Form entsteht, weil das System zwei instabile Gleichgewichtspunkte hat, um die die Trajektorien unvorhersehbar kreisen.'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'Ist der Lorenz-Attraktor wirklich zufällig?',
|
|
46
|
+
answer: 'Nein, das System ist völlig deterministisch. Da es jedoch chaotisch ist, ist es ohne unendliche Präzision der Anfangsbedingungen langfristig unvorhersehbar.'
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
copied: 'Kopiert',
|
|
56
|
+
noHistory: 'Kein Verlauf',
|
|
57
|
+
load: 'Laden',
|
|
58
|
+
delete: 'Löschen',
|
|
59
|
+
title: 'Lorenz Attraktor',
|
|
60
|
+
subTitle: 'Deterministisches Chaos',
|
|
61
|
+
parameterControls: 'Systemparameter',
|
|
62
|
+
simulationSpeed: 'Geschwindigkeit (dt)',
|
|
63
|
+
initialPerturbation: 'Anfängliche Störung (dx)',
|
|
64
|
+
trajectories: 'Trajektorien',
|
|
65
|
+
distance: 'Divergenzabstand',
|
|
66
|
+
exponentialGrowth: 'Exponentielle Divergenz',
|
|
67
|
+
resetDefault: 'Reset',
|
|
68
|
+
clearPath: 'Pfad löschen',
|
|
69
|
+
play: 'Resume',
|
|
70
|
+
pause: 'Pause',
|
|
71
|
+
coords: 'Koordinaten',
|
|
72
|
+
divergenceExplanation: 'Das Divergenzdiagramm zeigt den euklidischen Abstand zwischen den beiden Trajektorien im Laufe der Zeit.'
|
|
73
|
+
},
|
|
74
74
|
seo: [
|
|
75
|
-
{ type: 'title', text: 'Deterministisches Chaos: Die Lorenz-Gleichungen verstehen', level: 2 },
|
|
76
|
-
{ type: 'paragraph', html: 'Das Lorenz-System ist ein Meilenstein der nichtlinearen Dynamik und Chaostheorie. Es wurde 1963 vom Meteorologen <strong>Edward Lorenz</strong> entwickelt und entstand aus einem vereinfachten Modell der atmosphärischen Konvektion. Seine Entdeckung, dass einfache, deterministische Gleichungen hochkomplexes, nichtperiodisches Verhalten erzeugen können, hat unser Verständnis physikalischer Systeme grundlegend verändert.' },
|
|
75
|
+
{ type: 'title', text: 'Deterministisches Chaos: Die Lorenz-Gleichungen verstehen', level: 2 },
|
|
76
|
+
{ type: 'paragraph', html: 'Das Lorenz-System ist ein Meilenstein der nichtlinearen Dynamik und Chaostheorie. Es wurde 1963 vom Meteorologen <strong>Edward Lorenz</strong> entwickelt und entstand aus einem vereinfachten Modell der atmosphärischen Konvektion. Seine Entdeckung, dass einfache, deterministische Gleichungen hochkomplexes, nichtperiodisches Verhalten erzeugen können, hat unser Verständnis physikalischer Systeme grundlegend verändert.' },
|
|
77
77
|
{ type: 'paragraph', html: 'Das System wird durch drei gekoppelte Differentialgleichungen beschrieben, die eine Koordinate im dreidimensionalen Phasenraum im Laufe der Zeit verfolgen:' },
|
|
78
|
-
{
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
'<strong>
|
|
83
|
-
'<strong>
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
{ type: '
|
|
88
|
-
{ type: 'paragraph', html: '
|
|
89
|
-
{
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
['
|
|
95
|
-
['
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
{ type: '
|
|
100
|
-
{ type: 'paragraph', html: 'Die
|
|
101
|
-
{ type: '
|
|
102
|
-
{ type: '
|
|
103
|
-
{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
'<strong>
|
|
108
|
-
'<strong>
|
|
109
|
-
'<strong>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
'@
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
'@
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
'@
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
78
|
+
{ type: 'paragraph', html: 'Verändere die Parameter oder den Startpunkt nur geringfügig und vergleiche anschließend beide Bahnen. Die entstehende Divergenz macht sichtbar, wie empfindlich ein chaotisches System auf Anfangsbedingungen reagieren kann, obwohl seine Regeln vollständig deterministisch bleiben. So wird der Unterschied zwischen Zufall und langfristiger Vorhersagbarkeit anschaulich.' },
|
|
79
|
+
{
|
|
80
|
+
type: 'list',
|
|
81
|
+
items: [
|
|
82
|
+
'<strong>dx/dt = σ * (y - x):</strong> Beschreibt die Rate der konvektiven Bewegung.',
|
|
83
|
+
'<strong>dy/dt = x * (ρ - z) - y:</strong> Repräsentiert die Temperaturdifferenz.',
|
|
84
|
+
'<strong>dz/dt = x * y - β * z:</strong> Verfolgt die Verzerrung des vertikalen Temperaturprofils.',
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
{ type: 'title', text: 'Schmetterlingseffekt: Sensitive Abhängigkeit von Anfangsbedingungen', level: 3 },
|
|
88
|
+
{ type: 'paragraph', html: 'Das charakteristische Merkmal chaotischer Systeme ist die <strong>sensitive Abhängigkeit von den Anfangsbedingungen</strong>, bekannt als <strong>Schmetterlingseffekt</strong>. In diesem Simulator starten zwei Trajektorien (T1 in Cyan, T2 in Pink) mit einem winzigen Anfangsunterschied. Nach kurzer Zeit verstärken die nichtlinearen Terme diesen Unterschied, und die Pfade divergieren vollständig.' },
|
|
89
|
+
{ type: 'paragraph', html: 'Diese Empfindlichkeit wird demonstriert, indem zwei Trajektorien mit minimalem Abstand gestartet werden, die schließlich unterschiedliche Flügel des Attraktors umkreisen.' },
|
|
90
|
+
{
|
|
91
|
+
type: 'table',
|
|
92
|
+
headers: ['Parameter', 'Standardwert', 'Physikalische Bedeutung', 'Verhalten bei Änderung'],
|
|
93
|
+
rows: [
|
|
94
|
+
['σ (Sigma)', '10.0', 'Prandtl-Zahl', 'Bestimmt die innere Reibung des Fluids.'],
|
|
95
|
+
['ρ (Rho)', '28.0', 'Rayleigh-Zahl', 'Haupttreiber des Chaos.'],
|
|
96
|
+
['β (Beta)', '8/3 (2.667)', 'Aspektverhältnis', 'Steuert die Form und Rotationsgeschwindigkeit.'],
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
{ type: 'title', text: 'Phasenraum, Seltsame Attraktoren und Fraktale', level: 3 },
|
|
100
|
+
{ type: 'paragraph', html: 'In der klassischen Physik enden Trajektorien oft in stabilen Punkten oder wiederholen sich. Das Lorenz-System tut weder das eine noch das andere: Die Bahn schlingt sich unendlich im dreidimensionalen Raum, ohne sich selbst zu schneiden. Diese unbegrenzte, sich nicht wiederholende Struktur ist in einem endlichen Volumen des Phasenraums eingeschlossen und bildet einen <strong>seltsamen Attraktor</strong> mit fraktaler Geometrie (Hausdorff-Dimension ca. 2.06).' },
|
|
101
|
+
{ type: 'paragraph', html: 'Die Geometrie dieses Attraktors ist fraktal mit einer Hausdorff-Dimension von ca. 2,06.' },
|
|
102
|
+
{ type: 'title', text: 'Anwendungen der Chaostheorie in der Wissenschaft', level: 3 },
|
|
103
|
+
{ type: 'paragraph', html: 'Die Erkenntnisse aus dem Lorenz-Attraktor reichen weit über die Wettervorhersage hinaus:' },
|
|
104
|
+
{
|
|
105
|
+
type: 'list',
|
|
106
|
+
items: [
|
|
107
|
+
'<strong>Meteorologie:</strong> Setzte die Grenzen der Wettervorhersagbarkeit.',
|
|
108
|
+
'<strong>Kryptographie:</strong> Erzeugung sicherer Pseudozufallsschlüssel.',
|
|
109
|
+
'<strong>Kardiologie:</strong> Modellierung chaotischer Herzrhythmen.',
|
|
110
|
+
'<strong>Ingenieurwesen:</strong> Vermeidung chaotischer Resonanz in mechanischen Systemen.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
faq,
|
|
115
|
+
bibliography,
|
|
116
|
+
howTo,
|
|
117
|
+
schemas: [
|
|
118
|
+
{
|
|
119
|
+
'@context': 'https://schema.org',
|
|
120
|
+
'@type': 'SoftwareApplication',
|
|
121
|
+
name: title,
|
|
122
|
+
description,
|
|
123
|
+
applicationCategory: 'ScientificApplication',
|
|
124
|
+
operatingSystem: 'Any',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
'@context': 'https://schema.org',
|
|
128
|
+
'@type': 'FAQPage',
|
|
129
|
+
mainEntity: faq.map((item) => ({
|
|
130
|
+
'@type': 'Question',
|
|
131
|
+
name: item.question,
|
|
132
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
133
|
+
})),
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
'@context': 'https://schema.org',
|
|
137
|
+
'@type': 'HowTo',
|
|
138
|
+
name: title,
|
|
139
|
+
step: howTo.map((step) => ({
|
|
140
|
+
'@type': 'HowToStep',
|
|
141
|
+
name: step.name,
|
|
142
|
+
text: step.text,
|
|
143
|
+
})),
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|