1

je suis en train de lire ceci: http://www.gameprogrammer.com/fractal.html#diamondComment implémenter l'algorithme du carré de diamant?

Et il dit:

C'est le point de départ pour la routine de subdivision itérative, qui se déroule en deux étapes:

L'étape de diamant: En prenant un carré de quatre points, générez une valeur aléatoire au point milieu carré, là où les deux diagonales se rencontrent. La valeur du point milieu est calculée en faisant la moyenne des quatre valeurs de coin, plus une quantité aléatoire. Cela vous donne des diamants lorsque vous avez plusieurs cases disposées dans une grille.

L'étape carrée: En prenant chaque diamant de quatre points, générez une valeur aléatoire au centre du diamant. Calculer la valeur du point milieu en faisant la moyenne des valeurs de coin, plus une quantité aléatoire générée dans la même plage que celle utilisée pour l'étape de diamant. Cela vous donne à nouveau des carrés .

Je ne comprends pas cela. Comment prendre le milieu de chaque carré fait un diamant? Comment prendre le milieu de chaque diamant fait un carré?

Quelqu'un peut-il fournir un code indépendant du langage pour ce faire?

Edit:

Étape 1: vous avez une grille et faire les quatre coins hauteur uniforme:

* ┬ ┬ ┬ * 
├ ┼ ┼ ┼ ┤ 
├ ┼ ┼ ┼ ┤ 
├ ┼ ┼ ┼ ┤ 
* ┴ ┴ ┴ * 

Etape 2: vous prenez le point médian de la place et de définir à la moyenne de tous 4 coins plus une valeur aléatoire:

* ┬ ┬ ┬ * 
├ ┼ ┼ ┼ ┤ 
├ ┼ * ┼ ┤ 
├ ┼ ┼ ┼ ┤ 
* ┴ ┴ ┴ * 

Maintenant quoi? Je ne vois pas de losange partout

+0

L'itération initiale est quelque peu dégénérée. Cela devrait être plus clair si vous regardez les étapes c-> d-> e dans ce lien. –

+2

Les diamants ne se forment que lorsque vous avez plusieurs carrés disposés sur une grille: pour l'instant, vous oubliez la perturbation aléatoire du point central des carrés, votre diamant apparaît comme ceci: si votre premier carré A est à gauche avec les sommets Atl, Atr, Abl, Abr et milieu Ac et votre deuxième carré B est à droite avec les sommets Btr, Btl, Bbr, Bbl et le centre Bc alors votre diamant aura des sommets Ac, Atr = Btl, Bc, Bbl = Abr. Les petites lettres représentent t-haut, b-bas, gauche-gauche, r-droite, c-centre –

Répondre

2

Mettez deux des carrés ensemble: "Cela vous donne des diamants lorsque vous avez plusieurs cases dans une grille." Idem pour ci-dessus/ci-dessous le carré.

L'étape d'équerrage fait un nouvel ensemble de carrés, décalés par rapport au premier, avec les sommets définis par les points médians du diamant.

+0

Oh, cela a un sens maintenant –

+2

@RazorStorm Plus facile de tirer le tout sur du papier millimétré. –

+1

Oh, cela explique aussi ce que le lien voulait dire en disant que l'implémentation récursive ne donne pas assez d'informations sur l'étape des diamants –

Questions connexes