FractalPark
Composition de fonctions

jm_18

0109434e-e9cc-5d80-ad3f-d25ec62cbfda

Vue d’ensemble pédagogique

jm_18 s’étudie avec sa définition épinglée FRM-like/1 : tu suis z = pixel; t = p1 + 4; puis z = fn1(z) * pixel * fn2(fn3(z) * pixel), sans prendre une image pour une garantie. Le profil épinglé fournit seulement un réglage concret.

Parcours du code source

  1. frm-v1:41794347e36147808476dcb16e41d7bdbf24b94327ce2f0bf13fd67a1cf1901f:init/0

    Dans jm_18, ce nœud exécute z = pixel.

  2. frm-v1:41794347e36147808476dcb16e41d7bdbf24b94327ce2f0bf13fd67a1cf1901f:init/1

    Dans jm_18, ce nœud exécute t = p1 + 4.

  3. frm-v1:41794347e36147808476dcb16e41d7bdbf24b94327ce2f0bf13fd67a1cf1901f:loop/0

    Dans jm_18, ce nœud exécute z = fn1(z) * pixel * fn2(fn3(z) * pixel).

  4. frm-v1:41794347e36147808476dcb16e41d7bdbf24b94327ce2f0bf13fd67a1cf1901f:bailout

    Dans jm_18, ce nœud exécute |z| <= t.

Caractéristiques syntaxiques

state-flow

Le flux d’état concret est : z est initialisé avec pixel et t avec p1 + 4 avant la mise à jour par composition de fonctions.

stopping-test

Le test d’arrêt évalue seulement |z| <= t ; il n’affecte pas l’état.

Expérience sur les paramètres

parameter1function1function2function3

Étapes

  1. Exécute jm_18 avec le profil épinglé et note le résultat.
  2. Change seulement parameter1, garde les autres slots d’exécution et contrôles du profil fixes, exécute à nouveau et note s’il y a une différence.
  3. Change seulement function1, garde les autres slots d’exécution et contrôles du profil fixes, exécute à nouveau et note s’il y a une différence.
  4. Change seulement function2, garde les autres slots d’exécution et contrôles du profil fixes, exécute à nouveau et note s’il y a une différence.
  5. Change seulement function3, garde les autres slots d’exécution et contrôles du profil fixes, exécute à nouveau et note s’il y a une différence.

Ce qu’il faut observer

Note si z = pixel; t = p1 + 4; puis z = fn1(z) * pixel * fn2(fn3(z) * pixel) modifie le résultat visible ou le test d’arrêt |z| <= t par rapport à la référence ; la définition ne garantit pas de différence.

Exercice

Suis les annotations de jm_18 et explique comment z = pixel; t = p1 + 4; puis z = fn1(z) * pixel * fn2(fn3(z) * pixel) s’exécute dans les opérations indiquées.

Vérification de réalisation

Ta réponse explique les 4 annotations, identifie z = pixel; t = p1 + 4; puis z = fn1(z) * pixel * fn2(fn3(z) * pixel) et distingue |z| <= t comme test d’arrêt plutôt que comme affectation.

Indice

Le flux d’état exécute successivement z = pixel → t = p1 + 4 → z = fn1(z) * pixel * fn2(fn3(z) * pixel) et transmet le résultat à l’étape suivante.

Sources et droits

Source : définition d’exécution épinglée et décision de publication.

Les informations de droits suivent la décision épinglée dans l’unité anglaise.

Fiche de formule

jm_18

Cette implémentation canonique de FractalPark est publiée et exécutable.

Aperçu déterministe de jm_18

Source canonique

Langage
frm-like/1
Bibliothèque standard
1
Mode du profil
parameter-plane
Centre du profil
-0.5, 0
Zoom du profil
0.4
Itérations du profil
96
Niveau de preuve du profil
mechanical

Paramètres

  • parameter1: complex
  • function1: function
  • function2: function
  • function3: function

Source canonique

Cette révision canonique vérifiée est en lecture seule. Remix crée une copie modifiable distincte.

Chargement de la source canonique…

Source et implémentation

ID de formule
0109434e-e9cc-5d80-ad3f-d25ec62cbfda
Nom canonique
jm_18
Nom d'origine
jm_18
Source historique
Fractint
Implémentation actuelle
Adaptation directe

L'implémentation actuelle de FractalPark suit la sémantique vérifiée de la formule Fractint liée. Le fichier d'origine conserve ses propres conditions de droits.

Un problème de droits ou d'attribution ?

Envoyez l'ID de la formule et les justificatifs. Le mainteneur peut suspendre ou retirer l'implémentation pendant l'examen. contact@fractalpark.com