ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
26 avril 2006 à 16:13
jourgun
Messages postés19Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention27 août 2007
-
31 août 2007 à 13:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jourgun
Messages postés19Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention27 août 2007 31 août 2007 à 13:22
Merci du conseil, j'adapterais mon code lorsque je trouverais le temps.
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 30 août 2007 à 19:50
Tu peux améliorer l'image pour avoir un <<lissage>> des couleurs en appliquant la formule:
n-ln(1+ln(r+1))/ln(2)
Cette formule donne un nouvel indice dans la palette de couleurs avec:
+ n qui est le nombre d'itérations à partir duquel le module de la suite complexe a dépassé le seuil rmax (ou le nombre maximal d'itérations si le seuil n'a pas été dépassé)
+ r qui est le module atteint lorsque la suite a dépassé le seuil (sinon le module de la suite si le nombre maximal d'itérations a été atteint)
Cette formule fonctionne bien lorsque le seuil choisi est grand (par exemple 1.0E6). L'intérêt est d'avoir des images beaucoup plus lisses, avec un coloriage de gradient à peu près uniforme (contrairement à l'algo brutal qui consiste à donner l'indice en fonction du nombre d'itérations, et qui donne des frontières brusques entre les zones correspondant à des nombres d'itérations différents).
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 26 avril 2006 à 18:40
Dans mes sources tu pourra trouver des exemple de manipulation de bitmap.
Il te suffir ade stocker tes COLOOREF directement dans un tableau spécial associé à un bitmap
et de l'afficher
jourgun
Messages postés19Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention27 août 2007 26 avril 2006 à 18:24
En effet, j'avais pense a faire ca mais il y avait pas mal de problemes techniques. Et puis je pense que l'affichage des pixels n'est pas ce qui prend le plus de temps a partir du moment ou on commence a explorer ce fractale. Si quelqu'un connait bien le fonctionnement de setpixel, il peut adapter mon code, je lui en serait reconnaissant (je n'ai pas le temps d'aller chercher ce genre de choses dans msdn )
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 26 avril 2006 à 16:13
Pas tu tout optimiser en ce qui concerne l'affichage
SetPixel est très lent.
Il faut créer un bitmap en mémoire, sous forme de tableau de pixel, y mettre les couleurs
puis afficher avec un BitBlt ou similaire
31 août 2007 à 13:22
30 août 2007 à 19:50
n-ln(1+ln(r+1))/ln(2)
Cette formule donne un nouvel indice dans la palette de couleurs avec:
+ n qui est le nombre d'itérations à partir duquel le module de la suite complexe a dépassé le seuil rmax (ou le nombre maximal d'itérations si le seuil n'a pas été dépassé)
+ r qui est le module atteint lorsque la suite a dépassé le seuil (sinon le module de la suite si le nombre maximal d'itérations a été atteint)
Cette formule fonctionne bien lorsque le seuil choisi est grand (par exemple 1.0E6). L'intérêt est d'avoir des images beaucoup plus lisses, avec un coloriage de gradient à peu près uniforme (contrairement à l'algo brutal qui consiste à donner l'indice en fonction du nombre d'itérations, et qui donne des frontières brusques entre les zones correspondant à des nombres d'itérations différents).
J'ai des exemples de fractales obtenues avec ce système sur un vieux site web:
http://www.normalesup.org/~feuvrier/images/mandel0.jpg
http://www.normalesup.org/~feuvrier/images/mandel1.jpg
http://www.normalesup.org/~feuvrier/images/mandel2.jpg
http://www.normalesup.org/~feuvrier/images/mandel3.jpg
26 avril 2006 à 18:40
Il te suffir ade stocker tes COLOOREF directement dans un tableau spécial associé à un bitmap
et de l'afficher
26 avril 2006 à 18:24
26 avril 2006 à 16:13
SetPixel est très lent.
Il faut créer un bitmap en mémoire, sous forme de tableau de pixel, y mettre les couleurs
puis afficher avec un BitBlt ou similaire