Skip to content

Commit 0128813

Browse files
Correct buttons and fractals view
1 parent 575246f commit 0128813

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

public/js/renderer.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3285,6 +3285,16 @@ function allerAuSignet(index) {
32853285
params.maxIter = s.maxIter;
32863286
iterSlider.value = s.maxIter;
32873287
iterValue.textContent = s.maxIter;
3288+
if (s.juliaCre !== undefined) {
3289+
params.juliaCre = s.juliaCre;
3290+
if (juliaCReSlider) juliaCReSlider.value = s.juliaCre;
3291+
if (juliaCReValue) juliaCReValue.textContent = s.juliaCre.toFixed(3);
3292+
}
3293+
if (s.juliaCim !== undefined) {
3294+
params.juliaCim = s.juliaCim;
3295+
if (juliaCImSlider) juliaCImSlider.value = s.juliaCim;
3296+
if (juliaCImValue) juliaCImValue.textContent = s.juliaCim.toFixed(3);
3297+
}
32883298
params.palette = s.palette;
32893299
params.paletteBackground = s.paletteBackground;
32903300
params.paletteInterior = s.paletteInterior;
@@ -3312,9 +3322,9 @@ function rendreListeSignets() {
33123322

33133323
if (btnBookmark) {
33143324
btnBookmark.addEventListener("click", () => {
3315-
rendreListeSignets();
3316-
exportPanel.classList.add("hidden");
3317-
if (bookmarkPanel) bookmarkPanel.classList.toggle("hidden");
3325+
// Always save the current view first, then show the panel
3326+
ajouterSignet();
3327+
if (bookmarkPanel) bookmarkPanel.classList.remove("hidden");
33183328
});
33193329
}
33203330
if (btnCloseBookmarks) {

src/fractales_orbitrap.ml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,38 @@ déf min_orbitrap(a, b):
2121
déf mandelbrot_piege_cercle(cx, cy, max_iter):
2222
# Piège : cercle unité |z| = 1
2323
# La distance minimale à ce cercle code la couleur.
24+
# Note : on mesure z_1, z_2, ... (pas z_0=0)
2425
soit x = 0.0
2526
soit y = 0.0
2627
soit iter = 0.0
2728
soit dist_min = 1000000.0
2829
tantque iter < max_iter:
30+
soit xtemp = x * x - y * y + cx
31+
y = 2.0 * x * y + cy
32+
x = xtemp
2933
si x * x + y * y > 16.0:
3034
soit valeur = max_iter / (1.0 + dist_min * 18.0)
3135
retour min_orbitrap(valeur, max_iter * 0.98)
3236
# Distance au cercle |z| = 1 : | |z|² - 1 |
3337
soit d = abs_orbitrap(x * x + y * y - 1.0)
3438
si d < dist_min:
3539
dist_min = d
36-
soit xtemp = x * x - y * y + cx
37-
y = 2.0 * x * y + cy
38-
x = xtemp
3940
iter = iter + 1.0
4041
soit valeur = max_iter / (1.0 + dist_min * 18.0)
4142
retour min_orbitrap(valeur, max_iter * 0.98)
4243

4344
déf mandelbrot_piege_croix(cx, cy, max_iter):
4445
# Piège : axes (droites x=0 et y=0)
4546
# Couleur = distance minimale aux axes
47+
# Note : on mesure z_1, z_2, ... (pas z_0=0 qui serait sur les axes)
4648
soit x = 0.0
4749
soit y = 0.0
4850
soit iter = 0.0
4951
soit dist_min = 1000000.0
5052
tantque iter < max_iter:
53+
soit xtemp = x * x - y * y + cx
54+
y = 2.0 * x * y + cy
55+
x = xtemp
5156
si x * x + y * y > 16.0:
5257
soit valeur = max_iter / (1.0 + dist_min * 22.0)
5358
retour min_orbitrap(valeur, max_iter * 0.98)
@@ -56,31 +61,29 @@ déf mandelbrot_piege_croix(cx, cy, max_iter):
5661
soit d = min_orbitrap(dx, dy)
5762
si d < dist_min:
5863
dist_min = d
59-
soit xtemp = x * x - y * y + cx
60-
y = 2.0 * x * y + cy
61-
x = xtemp
6264
iter = iter + 1.0
6365
soit valeur = max_iter / (1.0 + dist_min * 22.0)
6466
retour min_orbitrap(valeur, max_iter * 0.98)
6567

6668
déf mandelbrot_piege_ligne(cx, cy, max_iter):
6769
# Piège : droite diagonale y = x
6870
# Distance = |x - y| / sqrt(2)
71+
# Note : on mesure z_1, z_2, ... (pas z_0=0 qui serait sur la diagonale)
6972
soit inv_racine2 = 0.70710678118654752
7073
soit x = 0.0
7174
soit y = 0.0
7275
soit iter = 0.0
7376
soit dist_min = 1000000.0
7477
tantque iter < max_iter:
78+
soit xtemp = x * x - y * y + cx
79+
y = 2.0 * x * y + cy
80+
x = xtemp
7581
si x * x + y * y > 16.0:
7682
soit valeur = max_iter / (1.0 + dist_min * 20.0)
7783
retour min_orbitrap(valeur, max_iter * 0.98)
7884
soit d = abs_orbitrap(x - y) * inv_racine2
7985
si d < dist_min:
8086
dist_min = d
81-
soit xtemp = x * x - y * y + cx
82-
y = 2.0 * x * y + cy
83-
x = xtemp
8487
iter = iter + 1.0
8588
soit valeur = max_iter / (1.0 + dist_min * 20.0)
8689
retour min_orbitrap(valeur, max_iter * 0.98)

0 commit comments

Comments
 (0)