Je me suis intéressé il y a un petit moment à la génération aléatoire de nuages.
Un lien dans une news donnait de nombreuses explications à ce sujet (ici).
Cependant, je reste bloqué sur une partie que je ne comprends pas. Je n'ai pas trouvé d'explication ailleurs.
J'avais essayé ça pourtant ça ne me donne pas quelque chose de très ressemblant.
Je vais mettre des images pour vous montrer ce que j'obtiens.
edit :
Ca doit venir de mon code...
Comment faire pour redimensionner correctement un tableau ?
Pour l'instant, je créé un nouveau tableau dont la taille est doublée et chaque case du premier tableau est insérée quatre fois dans le nouveau tableau.
Schématiquement ça donne ça : ->
Normalement je devrais faire une sorte d'arrondi mais je ne sais pas comment procédé (autrement dit un dégradé du jaune au vert, du jaune au bleu et du jaune gris).
En fait ça m'aiderais sûrement de voir comment d'autre gens ont fait.
class Map
{
protected:
Uint8** _values ; //tableau de valeur à deux dimensions
int _size ; //taille du tableau
public:
//double la taille du tableau
void Resample()
{
/* tableau de destination donc la taille est doublée */
Uint8** array = createArray(_size * 2);
/* on parcourt le nouveau tableau */
for(int x = 0 ; x < _size * 2 ; x += 2)
{
for(int y = 0 ; y < _size * 2 ; y += 2)
{
array[x][y] =
array[x][y + 1] =
array[x + 1][y] =
array[x + 1][y + 1] =
_values[x / 2][y / 2] ;
}
}
delete[] _values ;
_values = array ;
_size *= 2 ;
}
};
Bruit de Perlin
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.