@jjlmoya/utils-science 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +3 -1
  4. package/src/index.ts +1 -0
  5. package/src/tests/locale_completeness.test.ts +2 -2
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/mandelbrot-fractal/bibliography.astro +14 -0
  8. package/src/tool/mandelbrot-fractal/bibliography.ts +16 -0
  9. package/src/tool/mandelbrot-fractal/component.astro +242 -0
  10. package/src/tool/mandelbrot-fractal/entry.ts +26 -0
  11. package/src/tool/mandelbrot-fractal/i18n/de.ts +159 -0
  12. package/src/tool/mandelbrot-fractal/i18n/en.ts +160 -0
  13. package/src/tool/mandelbrot-fractal/i18n/es.ts +159 -0
  14. package/src/tool/mandelbrot-fractal/i18n/fr.ts +159 -0
  15. package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -0
  16. package/src/tool/mandelbrot-fractal/i18n/it.ts +159 -0
  17. package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -0
  18. package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -0
  19. package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -0
  20. package/src/tool/mandelbrot-fractal/i18n/pl.ts +159 -0
  21. package/src/tool/mandelbrot-fractal/i18n/pt.ts +159 -0
  22. package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -0
  23. package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -0
  24. package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -0
  25. package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -0
  26. package/src/tool/mandelbrot-fractal/index.ts +11 -0
  27. package/src/tool/mandelbrot-fractal/logic/MandelbrotEngine.ts +67 -0
  28. package/src/tool/mandelbrot-fractal/mandelbrot-fractal-calculator.css +357 -0
  29. package/src/tool/mandelbrot-fractal/seo.astro +15 -0
  30. package/src/tools.ts +2 -0
@@ -0,0 +1,160 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'mandelbrot-fractal-calculator';
5
+ const title = 'Mandelbrot Fractal Calculator and Self Similarity Explorer';
6
+ const description = 'Explore the Mandelbrot set, zoom into self-similar fractal boundaries, and compare iteration depth, color contrast, and complex-plane coordinates.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Choose a region of the Mandelbrot set',
11
+ text: 'Start from the full set or jump directly to a high-detail region such as the seahorse valley or a spiral minibrot.',
12
+ },
13
+ {
14
+ name: 'Zoom by clicking the image',
15
+ text: 'Click any point on the canvas to recenter the complex plane and magnify the fractal around that coordinate.',
16
+ },
17
+ {
18
+ name: 'Tune iteration depth and color contrast',
19
+ text: 'Increase the iteration budget to reveal finer boundary structure, then adjust contrast and palette to make escape-time bands easier to read.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'What does the Mandelbrot set calculator show?',
26
+ answer: 'It shows which complex numbers c keep the recurrence z(n+1) = z(n)^2 + c bounded when starting from z = 0. Points that never escape within the selected iteration budget are colored as members of the set, while outside points are colored by how quickly their orbit escapes.',
27
+ },
28
+ {
29
+ question: 'Why does the Mandelbrot boundary contain so much detail?',
30
+ answer: 'The boundary separates stable and escaping orbits, and tiny coordinate changes near that boundary can completely change long-term behavior. This sensitivity creates nested bulbs, spirals, filaments, and miniature copies that appear at many magnification levels.',
31
+ },
32
+ {
33
+ question: 'Is the Mandelbrot set truly self-similar?',
34
+ answer: 'It is not perfectly self-similar in the same strict way as a Sierpinski triangle, but it is richly quasi-self-similar. Small copies of the whole set appear throughout the plane, often distorted and connected by elaborate branching structures.',
35
+ },
36
+ {
37
+ question: 'What does the iteration count control?',
38
+ answer: 'The iteration count controls how long the calculator tests each point before deciding that it probably belongs to the set. Higher values reveal deeper filaments and cleaner minibrots, but they require more computation per pixel.',
39
+ },
40
+ {
41
+ question: 'Why do the colors change outside the black region?',
42
+ answer: 'Outside colors are based on escape time: points that escape quickly receive different colors from points that stay near the set for many iterations. Smooth coloring reduces harsh bands and makes the geometry of nearby orbits easier to inspect.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Mandelbrot Fractal Calculator',
52
+ canvasLabel: 'Interactive Mandelbrot set canvas',
53
+ presetsLabel: 'Mandelbrot region presets',
54
+ presetFull: 'Full Set',
55
+ presetSeahorse: 'Seahorse Valley',
56
+ presetSpiral: 'Spiral Minibrot',
57
+ centerPoint: 'Center',
58
+ magnification: 'Magnification',
59
+ visibleWindow: 'Visible window',
60
+ renderBudget: 'Iterations',
61
+ iterationsLabel: 'Iteration depth',
62
+ contrastLabel: 'Escape contrast',
63
+ colorLabel: 'Color field',
64
+ paletteEmber: 'Ember bands',
65
+ paletteLagoon: 'Lagoon plasma',
66
+ paletteInk: 'Ink spectrum',
67
+ reset: 'Reset view',
68
+ },
69
+ seo: [
70
+ {
71
+ type: 'title',
72
+ text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'This Mandelbrot fractal calculator renders the classic complex-plane set defined by the iteration <strong>z(n+1) = z(n)^2 + c</strong>. It is designed for exploration rather than passive viewing: every click recenters the plane, each zoom exposes a smaller mathematical neighborhood, and the iteration slider lets you decide how deeply the calculator should test the boundary before coloring a point as stable or escaping.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'How to Read the Mandelbrot Image',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'The dark central shape marks points whose orbits remain bounded within the current iteration budget. The colored exterior is an escape-time map. A point colored close to the set may survive hundreds of iterations before its magnitude exceeds the escape radius, while a point far away escapes almost immediately. The most scientifically interesting geometry is usually not inside the filled shape, but along the boundary where bounded and unbounded behavior interlace.',
87
+ },
88
+ {
89
+ type: 'table',
90
+ headers: ['Control', 'What it changes', 'When to increase it'],
91
+ rows: [
92
+ ['<strong>Iteration depth</strong>', 'How many recurrence steps are tested for each pixel.', 'Use higher values after zooming into thin filaments or miniature copies.'],
93
+ ['<strong>Escape contrast</strong>', 'How strongly smooth escape values are separated into visible bands.', 'Raise it when the image looks flat; lower it when colors are too harsh.'],
94
+ ['<strong>Palette</strong>', 'The color mapping applied to outside points.', 'Switch palettes to reveal structures that may be hidden by one color field.'],
95
+ ],
96
+ },
97
+ {
98
+ type: 'title',
99
+ text: 'Self-Similarity and Minibrots',
100
+ level: 3,
101
+ },
102
+ {
103
+ type: 'paragraph',
104
+ html: 'One reason the Mandelbrot set is so famous is its quasi-self-similarity. As you zoom into antennae, spirals, and valleys, you repeatedly encounter small Mandelbrot-like islands often called minibrots. These copies are not merely decorative. Their arrangement reflects the dynamics of quadratic maps, including periodic bulbs, bifurcation patterns, and regions where orbits remain trapped for long periods before escaping.',
105
+ },
106
+ {
107
+ type: 'title',
108
+ text: 'Why Higher Iterations Matter at Deep Zoom',
109
+ level: 3,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'At the full-set view, a modest iteration limit gives a recognizable image. At deeper magnification, however, many boundary points take far longer to reveal whether they escape. If the iteration limit is too low, fine structures can look falsely solid or muddy. Raising the iteration count improves boundary classification and lets the calculator resolve narrow tendrils, spiral arms, and satellite bulbs with more confidence.',
114
+ },
115
+ {
116
+ type: 'title',
117
+ text: 'Mathematical Meaning of the Complex Coordinates',
118
+ level: 3,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'The coordinate readout shows the current center of the viewport as a complex number c = a + bi. The horizontal axis is the real part and the vertical axis is the imaginary part. Clicking the canvas chooses a new complex coordinate, then magnifies the visible window around it. This makes the tool useful for learning how visual regions of the fractal correspond to precise locations in the complex plane.',
123
+ },
124
+ ],
125
+ faq,
126
+ bibliography,
127
+ howTo,
128
+ schemas: [
129
+ {
130
+ '@context': 'https://schema.org',
131
+ '@type': 'SoftwareApplication',
132
+ name: title,
133
+ description,
134
+ applicationCategory: 'ScientificApplication',
135
+ operatingSystem: 'Any',
136
+ },
137
+ {
138
+ '@context': 'https://schema.org',
139
+ '@type': 'FAQPage',
140
+ mainEntity: faq.map((item) => ({
141
+ '@type': 'Question',
142
+ name: item.question,
143
+ acceptedAnswer: {
144
+ '@type': 'Answer',
145
+ text: item.answer,
146
+ },
147
+ })),
148
+ },
149
+ {
150
+ '@context': 'https://schema.org',
151
+ '@type': 'HowTo',
152
+ name: title,
153
+ step: howTo.map((step) => ({
154
+ '@type': 'HowToStep',
155
+ name: step.name,
156
+ text: step.text,
157
+ })),
158
+ },
159
+ ],
160
+ };
@@ -0,0 +1,159 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'calculadora-fractal-mandelbrot';
5
+ const title = 'Calculadora de Fractales de Mandelbrot y Explorador de Autosimilitud';
6
+ const description = 'Explore el conjunto de Mandelbrot, acerquese a los bordes fractales autosemejantes y compare la profundidad de iteracion, el contraste de color y las coordenadas del plano complejo.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Elija una region del conjunto de Mandelbrot',
11
+ text: 'Comience desde el conjunto completo o salte directamente a una region de alto detalle como el valle del caballito de mar o un minibrot en espiral.',
12
+ },
13
+ {
14
+ name: 'Acerque haciendo clic en la imagen',
15
+ text: 'Haga clic en cualquier punto del lienzo para re-centrar el plano complejo y magnificar el fractal alrededor de esa coordenada.',
16
+ },
17
+ {
18
+ name: 'Ajuste la profundidad de iteracion y el contraste de color',
19
+ text: 'Aumente el presupuesto de iteraciones para revelar una estructura de borde mas fina, luego ajuste el contraste y la paleta para que las bandas de tiempo de escape sean mas faciles de leer.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Que muestra la calculadora del conjunto de Mandelbrot?',
26
+ answer: 'Muestra que numeros complejos c mantienen acotada la recurrencia z(n+1) = z(n)^2 + c al comenzar desde z = 0. Los puntos que nunca escapan dentro del presupuesto de iteracion seleccionado se colorean como miembros del conjunto, mientras que los puntos exteriores se colorean segun la rapidez con que su orbita escapa.',
27
+ },
28
+ {
29
+ question: 'Por que el borde de Mandelbrot contiene tanto detalle?',
30
+ answer: 'El borde separa las orbitas estables de las que escapan, y pequenos cambios de coordenadas cerca de ese borde pueden cambiar completamente el comportamiento a largo plazo. Esta sensibilidad crea bulbos anidados, espirales, filamentos y copias en miniatura que aparecen en muchos niveles de ampliacion.',
31
+ },
32
+ {
33
+ question: 'Es el conjunto de Mandelbrot verdaderamente autosemejante?',
34
+ answer: 'No es perfectamente autosemejante en el mismo sentido estricto que un triangulo de Sierpinski, pero es ricamente cuasi-autosemejante. Pequenas copias de todo el conjunto aparecen por todo el plano, a menudo distorsionadas y conectadas por elaboradas estructuras ramificadas.',
35
+ },
36
+ {
37
+ question: 'Que controla el numero de iteraciones?',
38
+ answer: 'El numero de iteraciones controla cuanto tiempo prueba la calculadora cada punto antes de decidir que probablemente pertenece al conjunto. Los valores mas altos revelan filamentos mas profundos y minibrots mas limpios, pero requieren mas computo por pixel.',
39
+ },
40
+ {
41
+ question: 'Por que cambian los colores fuera de la region negra?',
42
+ answer: 'Los colores exteriores se basan en el tiempo de escape: los puntos que escapan rapidamente reciben colores diferentes a los puntos que permanecen cerca del conjunto durante muchas iteraciones. El coloreado suave reduce las bandas pronunciadas y facilita la inspeccion de la geometria de las orbitas cercanas.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Calculadora de Fractales de Mandelbrot',
52
+ canvasLabel: 'Lienzo interactivo del conjunto de Mandelbrot',
53
+ presetsLabel: 'Preajustes de region de Mandelbrot',
54
+ presetFull: 'Conjunto Completo',
55
+ presetSeahorse: 'Valle del Caballito de Mar',
56
+ presetSpiral: 'Minibrot Espiral',
57
+ centerPoint: 'Centro',
58
+ magnification: 'Ampliacion',
59
+ visibleWindow: 'Ventana visible',
60
+ renderBudget: 'Iteraciones',
61
+ iterationsLabel: 'Profundidad de iteracion',
62
+ contrastLabel: 'Contraste de escape',
63
+ colorLabel: 'Campo de color',
64
+ paletteEmber: 'Bandas de brasa',
65
+ paletteLagoon: 'Plasma de laguna',
66
+ paletteInk: 'Espectro de tinta',
67
+ },
68
+ seo: [
69
+ {
70
+ type: 'title',
71
+ text: 'Calculadora del Conjunto de Mandelbrot para Fractales, Tiempo de Escape y Autosimilitud',
72
+ level: 2,
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Esta calculadora de fractales de Mandelbrot renderiza el clasico conjunto del plano complejo definido por la iteracion <strong>z(n+1) = z(n)^2 + c</strong>. Esta disenada para la exploracion en lugar de la visualizacion pasiva: cada clic re-centra el plano, cada zoom expone un vecindario matematico mas pequeno, y el control deslizante de iteraciones le permite decidir que tan profundamente debe probar la calculadora el borde antes de colorear un punto como estable o en escape.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Como leer la imagen de Mandelbrot',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'paragraph',
85
+ html: 'La forma central oscura marca los puntos cuyas orbitas permanecen acotadas dentro del presupuesto de iteracion actual. El exterior coloreado es un mapa de tiempo de escape. Un punto coloreado cerca del conjunto puede sobrevivir cientos de iteraciones antes de que su magnitud exceda el radio de escape, mientras que un punto lejano escapa casi de inmediato. La geometria cientificamente mas interesante no suele estar dentro de la forma rellena, sino a lo largo del borde donde el comportamiento acotado y no acotado se entrelazan.',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['Control', 'Que cambia', 'Cuando aumentarlo'],
90
+ rows: [
91
+ ['<strong>Profundidad de iteracion</strong>', 'Cuantos pasos de recurrencia se prueban para cada pixel.', 'Use valores mas altos despues de acercarse a filamentos delgados o copias en miniatura.'],
92
+ ['<strong>Contraste de escape</strong>', 'Que fuertemente se separan los valores de escape suaves en bandas visibles.', 'Aumentelo cuando la imagen se vea plana; reduczalo cuando los colores sean demasiado fuertes.'],
93
+ ['<strong>Paleta</strong>', 'La asignacion de color aplicada a los puntos exteriores.', 'Cambie de paleta para revelar estructuras que podrian estar ocultas por un campo de color.'],
94
+ ],
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Autosimilitud y Minibrots',
99
+ level: 3,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Una de las razones por las que el conjunto de Mandelbrot es tan famoso es su cuasi-autosimilitud. A medida que se acerca a antenas, espirales y valles, se encuentra repetidamente con pequenas islas similares a Mandelbrot, a menudo llamadas minibrots. Estas copias no son meramente decorativas. Su disposicion refleja la dinamica de los mapas cuadraticos, incluyendo bulbos periodicos, patrones de bifurcacion y regiones donde las orbitas permanecen atrapadas durante largos periodos antes de escapar.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Por que importan mas iteraciones en el zoom profundo',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'En la vista del conjunto completo, un limite de iteracion modesto proporciona una imagen reconocible. Sin embargo, con una ampliacion mas profunda, muchos puntos del borde tardan mucho mas en revelar si escapan. Si el limite de iteracion es demasiado bajo, las estructuras finas pueden verse falsamente solidas o embarradas. Aumentar el numero de iteraciones mejora la clasificacion del borde y permite que la calculadora resuelva zarcillos estrechos, brazos espirales y bulbos satelite con mayor confianza.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Significado matematico de las coordenadas complejas',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'La lectura de coordenadas muestra el centro actual del viewport como un numero complejo c = a + bi. El eje horizontal es la parte real y el eje vertical es la parte imaginaria. Al hacer clic en el lienzo se elige una nueva coordenada compleja y luego se magnifica la ventana visible a su alrededor. Esto hace que la herramienta sea util para aprender como las regiones visuales del fractal se corresponden con ubicaciones precisas en el plano complejo.',
122
+ },
123
+ ],
124
+ faq,
125
+ bibliography,
126
+ howTo,
127
+ schemas: [
128
+ {
129
+ '@context': 'https://schema.org',
130
+ '@type': 'SoftwareApplication',
131
+ name: title,
132
+ description,
133
+ applicationCategory: 'ScientificApplication',
134
+ operatingSystem: 'Any',
135
+ },
136
+ {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'FAQPage',
139
+ mainEntity: faq.map((item) => ({
140
+ '@type': 'Question',
141
+ name: item.question,
142
+ acceptedAnswer: {
143
+ '@type': 'Answer',
144
+ text: item.answer,
145
+ },
146
+ })),
147
+ },
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'HowTo',
151
+ name: title,
152
+ step: howTo.map((step) => ({
153
+ '@type': 'HowToStep',
154
+ name: step.name,
155
+ text: step.text,
156
+ })),
157
+ },
158
+ ],
159
+ };
@@ -0,0 +1,159 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'calculateur-fractale-mandelbrot';
5
+ const title = 'Calculateur de Fractale de Mandelbrot et Explorateur d Autosimilarite';
6
+ const description = 'Explorez l ensemble de Mandelbrot, zoomez sur les frontieres fractales autosimilaires et comparez la profondeur d iteration, le contraste des couleurs et les coordonnees du plan complexe.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Choisissez une region de l ensemble de Mandelbrot',
11
+ text: 'Partez de l ensemble complet ou sautez directement vers une region tres detaillee telle que la vallee de l hippocampe ou un minibrot en spirale.',
12
+ },
13
+ {
14
+ name: 'Zoomez en cliquant sur l image',
15
+ text: 'Cliquez sur n importe quel point du canevas pour recentrer le plan complexe et agrandir la fractale autour de cette coordonnee.',
16
+ },
17
+ {
18
+ name: 'Reglez la profondeur d iteration et le contraste des couleurs',
19
+ text: 'Augmentez le budget d iterations pour reveler une structure de frontiere plus fine, puis ajustez le contraste et la palette pour rendre les bandes de temps d evasion plus lisibles.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Que montre le calculateur de l ensemble de Mandelbrot?',
26
+ answer: 'Il montre quels nombres complexes c maintiennent la recurrence z(n+1) = z(n)^2 + c bornee en partant de z = 0. Les points qui ne s echappent jamais dans le budget d iterations selectionne sont colores comme membres de l ensemble, tandis que les points exterieurs sont colores selon la vitesse a laquelle leur orbite s echappe.',
27
+ },
28
+ {
29
+ question: 'Pourquoi la frontiere de Mandelbrot contient-elle autant de details?',
30
+ answer: 'La frontiere separe les orbites stables de celles qui s echappent, et de minuscules changements de coordonnees pres de cette frontiere peuvent completement modifier le comportement a long terme. Cette sensibilite cree des bulbes imbriques, des spirales, des filaments et des copies miniatures qui apparaissent a de nombreux niveaux d agrandissement.',
31
+ },
32
+ {
33
+ question: 'L ensemble de Mandelbrot est-il vraiment autosimilaire?',
34
+ answer: 'Il n est pas parfaitement autosimilaire au sens strict comme un triangle de Sierpinski, mais il est richement quasi-autosimilaire. De petites copies de l ensemble complet apparaissent dans tout le plan, souvent deformees et reliees par des structures ramifiees elaborees.',
35
+ },
36
+ {
37
+ question: 'Que controle le nombre d iterations?',
38
+ answer: 'Le nombre d iterations controle la duree pendant laquelle le calculateur teste chaque point avant de decider qu il appartient probablement a l ensemble. Des valeurs plus elevees revelent des filaments plus profonds et des minibrots plus nets, mais necessitent plus de calcul par pixel.',
39
+ },
40
+ {
41
+ question: 'Pourquoi les couleurs changent-elles en dehors de la region noire?',
42
+ answer: 'Les couleurs exterieures sont basees sur le temps d evasion: les points qui s echappent rapidement recoivent des couleurs differentes de ceux qui restent pres de l ensemble pendant de nombreuses iterations. Un coloriage lisse reduit les bandes marquees et facilite l inspection de la geometrie des orbites voisines.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Calculateur de Fractale de Mandelbrot',
52
+ canvasLabel: 'Canevas interactif de l ensemble de Mandelbrot',
53
+ presetsLabel: 'Parametres de region de Mandelbrot',
54
+ presetFull: 'Ensemble Complet',
55
+ presetSeahorse: 'Vallee de l Hippocampe',
56
+ presetSpiral: 'Minibrot Spirale',
57
+ centerPoint: 'Centre',
58
+ magnification: 'Grossissement',
59
+ visibleWindow: 'Fenetre visible',
60
+ renderBudget: 'Iterations',
61
+ iterationsLabel: 'Profondeur d iteration',
62
+ contrastLabel: 'Contraste d evasion',
63
+ colorLabel: 'Champ de couleur',
64
+ paletteEmber: 'Bandes de braise',
65
+ paletteLagoon: 'Plasma lagunaire',
66
+ paletteInk: 'Spectre d encre',
67
+ },
68
+ seo: [
69
+ {
70
+ type: 'title',
71
+ text: 'Calculateur de l Ensemble de Mandelbrot pour Fractales, Temps d Evasion et Autosimilarite',
72
+ level: 2,
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Ce calculateur de fractale de Mandelbrot rend le classique ensemble du plan complexe defini par l iteration <strong>z(n+1) = z(n)^2 + c</strong>. Il est concu pour l exploration plutot que pour la visualisation passive: chaque clic recentre le plan, chaque zoom expose un voisinage mathematique plus petit, et le curseur d iterations vous permet de decider a quelle profondeur le calculateur doit tester la frontiere avant de colorer un point comme stable ou en fuite.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comment lire l image de Mandelbrot',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'paragraph',
85
+ html: 'La forme centrale sombre marque les points dont les orbites restent bornees dans le budget d iterations actuel. L exterieur colore est une carte du temps d evasion. Un point colore pres de l ensemble peut survivre des centaines d iterations avant que sa magnitude ne depasse le rayon d evasion, tandis qu un point eloigne s echappe presque immediatement. La geometrie la plus interessante scientifiquement ne se trouve generalement pas a l interieur de la forme remplie, mais le long de la frontiere ou les comportements bornes et non bornes s entrelacent.',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['Controle', 'Ce qu il modifie', 'Quand l augmenter'],
90
+ rows: [
91
+ ['<strong>Profondeur d iteration</strong>', 'Combien d etapes de recurrence sont testees pour chaque pixel.', 'Utilisez des valeurs plus elevees apres un zoom dans des filaments minces ou des copies miniatures.'],
92
+ ['<strong>Contraste d evasion</strong>', 'A quel point les valeurs d evasion lisses sont separees en bandes visibles.', 'Augmentez-le quand l image parait plate; baissez-le quand les couleurs sont trop agressives.'],
93
+ ['<strong>Palette</strong>', 'Le mappage de couleur applique aux points exterieurs.', 'Changez de palette pour reveler des structures qui pourraient etre cachees par un champ de couleur.'],
94
+ ],
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Autosimilarite et Minibrots',
99
+ level: 3,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Une des raisons pour lesquelles l ensemble de Mandelbrot est si celebre est sa quasi-autosimilarite. En zoomant sur les antennes, les spirales et les vallees, vous rencontrez a plusieurs reprises de petites iles ressemblant a Mandelbrot, souvent appelees minibrots. Ces copies ne sont pas simplement decoratives. Leur agencement reflete la dynamique des applications quadratiques, y compris les bulbes periodiques, les motifs de bifurcation et les regions ou les orbites restent piegees pendant de longues periodes avant de s echapper.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Pourquoi des iterations plus elevees sont importantes en zoom profond',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'Dans la vue de l ensemble complet, une limite d iteration modeste donne une image reconnaissable. A un agrandissement plus profond, cependant, de nombreux points de frontiere mettent beaucoup plus de temps a reveler s ils s echappent. Si la limite d iteration est trop basse, les structures fines peuvent paraitre faussement solides ou boueuses. L augmentation du nombre d iterations ameliore la classification de la frontiere et permet au calculateur de resoudre les vrilles etroites, les bras spiraux et les bulbes satellites avec plus de confiance.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Signification mathematique des coordonnees complexes',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'L affichage des coordonnees montre le centre actuel de la fenetre d affichage sous forme d un nombre complexe c = a + bi. L axe horizontal est la partie reelle et l axe vertical est la partie imaginaire. Un clic sur le canevas choisit une nouvelle coordonnee complexe, puis agrandit la fenetre visible autour d elle. Cela rend l outil utile pour apprendre comment les regions visuelles de la fractale correspondent a des emplacements precis dans le plan complexe.',
122
+ },
123
+ ],
124
+ faq,
125
+ bibliography,
126
+ howTo,
127
+ schemas: [
128
+ {
129
+ '@context': 'https://schema.org',
130
+ '@type': 'SoftwareApplication',
131
+ name: title,
132
+ description,
133
+ applicationCategory: 'ScientificApplication',
134
+ operatingSystem: 'Any',
135
+ },
136
+ {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'FAQPage',
139
+ mainEntity: faq.map((item) => ({
140
+ '@type': 'Question',
141
+ name: item.question,
142
+ acceptedAnswer: {
143
+ '@type': 'Answer',
144
+ text: item.answer,
145
+ },
146
+ })),
147
+ },
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'HowTo',
151
+ name: title,
152
+ step: howTo.map((step) => ({
153
+ '@type': 'HowToStep',
154
+ name: step.name,
155
+ text: step.text,
156
+ })),
157
+ },
158
+ ],
159
+ };
@@ -0,0 +1,159 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'kalkulator-fraktal-mandelbrot';
5
+ const title = 'Kalkulator Fraktal Mandelbrot dan Penjelajah Kesamaan Diri';
6
+ const description = 'Jelajahi himpunan Mandelbrot, perbesar batas fraktal yang serupa dengan dirinya sendiri, dan bandingkan kedalaman iterasi, kontras warna, serta koordinat bidang kompleks.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Pilih wilayah dari himpunan Mandelbrot',
11
+ text: 'Mulai dari himpunan penuh atau langsung loncat ke wilayah dengan detail tinggi seperti lembah kuda laut atau minibrot spiral.',
12
+ },
13
+ {
14
+ name: 'Perbesar dengan mengklik gambar',
15
+ text: 'Klik titik mana pun pada kanvas untuk memusatkan ulang bidang kompleks dan memperbesar fraktal di sekitar koordinat tersebut.',
16
+ },
17
+ {
18
+ name: 'Sesuaikan kedalaman iterasi dan kontras warna',
19
+ text: 'Tingkatkan anggaran iterasi untuk mengungkap struktur batas yang lebih halus, lalu sesuaikan kontras dan palet agar pita waktu pelarian lebih mudah dibaca.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Apa yang ditampilkan kalkulator himpunan Mandelbrot?',
26
+ answer: 'Alat ini menunjukkan bilangan kompleks c mana yang membuat rekurensi z(n+1) = z(n)^2 + c tetap terbatas saat dimulai dari z = 0. Titik yang tidak pernah lolos dalam anggaran iterasi yang dipilih diwarnai sebagai anggota himpunan, sedangkan titik di luar diwarnai berdasarkan seberapa cepat orbitnya meloloskan diri.',
27
+ },
28
+ {
29
+ question: 'Mengapa batas Mandelbrot mengandung begitu banyak detail?',
30
+ answer: 'Batas tersebut memisahkan orbit yang stabil dan yang meloloskan diri, dan perubahan koordinat kecil di dekat batas itu dapat mengubah perilaku jangka panjang secara total. Sensitivitas ini menciptakan bulb yang bersarang, spiral, filamen, dan salinan miniatur yang muncul di banyak tingkat perbesaran.',
31
+ },
32
+ {
33
+ question: 'Apakah himpunan Mandelbrot benar-benar serupa dengan dirinya sendiri?',
34
+ answer: 'Himpunan ini tidak sepenuhnya serupa dengan dirinya sendiri dalam arti ketat yang sama seperti segitiga Sierpinski, tetapi ia kaya akan kuasi-kesamaan diri. Salinan kecil dari seluruh himpunan muncul di seluruh bidang, sering kali terdistorsi dan terhubung oleh struktur bercabang yang rumit.',
35
+ },
36
+ {
37
+ question: 'Apa yang dikendalikan oleh jumlah iterasi?',
38
+ answer: 'Jumlah iterasi mengontrol berapa lama kalkulator menguji setiap titik sebelum memutuskan bahwa titik tersebut mungkin termasuk dalam himpunan. Nilai yang lebih tinggi mengungkap filamen yang lebih dalam dan minibrot yang lebih bersih, tetapi membutuhkan lebih banyak komputasi per piksel.',
39
+ },
40
+ {
41
+ question: 'Mengapa warna berubah di luar wilayah hitam?',
42
+ answer: 'Warna di luar didasarkan pada waktu pelarian: titik yang cepat lolos menerima warna berbeda dari titik yang tetap dekat dengan himpunan selama banyak iterasi. Pewarnaan halus mengurangi pita yang keras dan memudahkan inspeksi geometri orbit di sekitarnya.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Kalkulator Fraktal Mandelbrot',
52
+ canvasLabel: 'Kanvas interaktif himpunan Mandelbrot',
53
+ presetsLabel: 'Praset wilayah Mandelbrot',
54
+ presetFull: 'Himpunan Penuh',
55
+ presetSeahorse: 'Lembah Kuda Laut',
56
+ presetSpiral: 'Minibrot Spiral',
57
+ centerPoint: 'Pusat',
58
+ magnification: 'Perbesaran',
59
+ visibleWindow: 'Jendela terlihat',
60
+ renderBudget: 'Iterasi',
61
+ iterationsLabel: 'Kedalaman iterasi',
62
+ contrastLabel: 'Kontras pelarian',
63
+ colorLabel: 'Bidang warna',
64
+ paletteEmber: 'Pita bara',
65
+ paletteLagoon: 'Plasma laguna',
66
+ paletteInk: 'Spektrum tinta',
67
+ },
68
+ seo: [
69
+ {
70
+ type: 'title',
71
+ text: 'Kalkulator Himpunan Mandelbrot untuk Fraktal, Waktu Pelarian, dan Kesamaan Diri',
72
+ level: 2,
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Kalkulator fraktal Mandelbrot ini merender himpunan klasik bidang kompleks yang didefinisikan oleh iterasi <strong>z(n+1) = z(n)^2 + c</strong>. Alat ini dirancang untuk eksplorasi daripada pengamatan pasif: setiap klik memusatkan ulang bidang, setiap perbesaran memperlihatkan lingkungan matematis yang lebih kecil, dan penggeser iterasi memungkinkan Anda memutuskan seberapa dalam kalkulator harus menguji batas sebelum mewarnai titik sebagai stabil atau meloloskan diri.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Cara Membaca Gambar Mandelbrot',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'paragraph',
85
+ html: 'Bentuk gelap di tengah menandai titik-titik yang orbitnya tetap terbatas dalam anggaran iterasi saat ini. Bagian luar yang berwarna adalah peta waktu pelarian. Titik yang diwarnai dekat dengan himpunan dapat bertahan ratusan iterasi sebelum magnitudonya melebihi radius pelarian, sementara titik yang jauh meloloskan diri hampir seketika. Geometri yang paling menarik secara ilmiah biasanya tidak berada di dalam bentuk yang terisi, melainkan di sepanjang batas di mana perilaku terbatas dan tidak terbatas saling berjalin.',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['Kontrol', 'Apa yang diubah', 'Kapan meningkatkannya'],
90
+ rows: [
91
+ ['<strong>Kedalaman iterasi</strong>', 'Berapa langkah rekurensi yang diuji untuk setiap piksel.', 'Gunakan nilai lebih tinggi setelah memperbesar filamen tipis atau salinan miniatur.'],
92
+ ['<strong>Kontras pelarian</strong>', 'Seberapa kuat nilai pelarian yang halus dipisahkan menjadi pita yang terlihat.', 'Naikkan saat gambar terlihat datar; turunkan saat warna terlalu keras.'],
93
+ ['<strong>Palet</strong>', 'Pemetaan warna yang diterapkan pada titik di luar.', 'Ganti palet untuk mengungkap struktur yang mungkin tersembunyi oleh satu bidang warna.'],
94
+ ],
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Kesamaan Diri dan Minibrot',
99
+ level: 3,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Salah satu alasan himpunan Mandelbrot sangat terkenal adalah kuasi-kesamaan dirinya. Saat Anda memperbesar antena, spiral, dan lembah, Anda berulang kali menemukan pulau kecil mirip Mandelbrot yang sering disebut minibrot. Salinan ini tidak sekadar dekoratif. Susunannya mencerminkan dinamika peta kuadratik, termasuk bulb periodik, pola bifurkasi, dan wilayah di mana orbit tetap terperangkap untuk waktu yang lama sebelum meloloskan diri.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Mengapa Iterasi Lebih Tinggi Penting pada Perbesaran Dalam',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'Pada tampilan himpunan penuh, batas iterasi yang sederhana memberikan gambar yang dapat dikenali. Namun pada perbesaran yang lebih dalam, banyak titik batas membutuhkan waktu lebih lama untuk mengungkapkan apakah mereka meloloskan diri. Jika batas iterasi terlalu rendah, struktur halus dapat terlihat padat atau keruh secara salah. Meningkatkan jumlah iterasi memperbaiki klasifikasi batas dan memungkinkan kalkulator menyelesaikan sulur sempit, lengan spiral, dan bulb satelit dengan lebih percaya diri.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Makna Matematis dari Koordinat Kompleks',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'Pembacaan koordinat menunjukkan pusat area pandang saat ini sebagai bilangan kompleks c = a + bi. Sumbu horizontal adalah bagian real dan sumbu vertikal adalah bagian imajiner. Mengklik kanvas memilih koordinat kompleks baru, lalu memperbesar jendela yang terlihat di sekitarnya. Ini membuat alat ini berguna untuk mempelajari bagaimana wilayah visual fraktal berhubungan dengan lokasi yang tepat di bidang kompleks.',
122
+ },
123
+ ],
124
+ faq,
125
+ bibliography,
126
+ howTo,
127
+ schemas: [
128
+ {
129
+ '@context': 'https://schema.org',
130
+ '@type': 'SoftwareApplication',
131
+ name: title,
132
+ description,
133
+ applicationCategory: 'ScientificApplication',
134
+ operatingSystem: 'Any',
135
+ },
136
+ {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'FAQPage',
139
+ mainEntity: faq.map((item) => ({
140
+ '@type': 'Question',
141
+ name: item.question,
142
+ acceptedAnswer: {
143
+ '@type': 'Answer',
144
+ text: item.answer,
145
+ },
146
+ })),
147
+ },
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'HowTo',
151
+ name: title,
152
+ step: howTo.map((step) => ({
153
+ '@type': 'HowToStep',
154
+ name: step.name,
155
+ text: step.text,
156
+ })),
157
+ },
158
+ ],
159
+ };