CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

probleme fractale de mandelbrot

jejej
jejej
Niveau 9
27 novembre 2005 à 18:50:08

Bonjour à tous ,
j´essaie en ce moment d´afficher une fractale à l´écran ...
je me suis renseigne un peu sur wikipedia , ça avait pas l´air trop dur , mais les resultats ne sont pas vraiment top ...
si vous voyez d´où peut venir l´erreur ( je pense que c´est du aux ´double´ ) ou comment la corriger , merci beaucoup :)

le resultat :
http://img118.imageshack.ck.us/my.php?image=truc9fz.png

le code source :
http://www.rafb.net/paste/results/MAgOId12.html

:merci:

dnob700
dnob700
Niveau 10
27 novembre 2005 à 19:06:31

essaye de modifier ccette ligne dans la fonction Belong :
point C( (x*4)/500 - 2 , (y*-4)/500 + 2 );

en :

point C(((double)x*4.)/500. - 2. , ((double)y*(-4.))/500. + 2. );
//J´ai un peu abusé mais comme ça ça devrait aller.

Si ça corrige ton problème (le reste de ton code me semble bon) c´est que lorsque tu divise par 500 tu travaille encore sur des int et pas encore sur des double donc en gros tu as 0, 1, -1 ou -2 peut-être selon l´endroit ou tu te trouve, mais tout les points à l´intérieur d´un gros carré (d´ou les carrés à l´écran) ont les même valeur.

P.S. je te conseille de désactiver le double buffering, ça ne sers à rien ici, et ça te permettra de voir ta fractale se dessinner petit à petit.

jejej
jejej
Niveau 9
27 novembre 2005 à 19:14:53

merci dnob700 , mais le resultat est à peine mieux ... :
http://img129.imageshack.ck.us/my.php?image=truc9jq.png
:lol:

jejej
jejej
Niveau 9
27 novembre 2005 à 19:17:47

mais ouais , t´as raison , le probleme est bien du au double et erreurs d´arrondis ... je crois que je vais faire ma propre classe de double ( en precision infinie =) comme ça je pourrais zoomer encore plus ;p )

dnob700
dnob700
Niveau 10
27 novembre 2005 à 19:46:41

non non, normallement il ne devrait pas y avoir de problème à ce niveau avec l´arrondi des double (si tu écrit ta propre classe, quel que soit sa qualité, faire se calcul va prendre un temps fou).

Peut tu nous donner le code intégral de ton programme (y compris drawpoint parce que je ne sais pas du tout utiliser SDL) pour qu´on puisse voir ce qui ne vas pas en le testant ? parce que normallement ça devrait marcher.

dnob700
dnob700
Niveau 10
27 novembre 2005 à 19:49:38

et le :
int tempx=z.x;
tu ne crois pas qu´il serait mieux en double ?

c´est pas évident de voir ce genre d´erreur, mais je crois qu´on s´approche de la solution.

dnob700
dnob700
Niveau 10
27 novembre 2005 à 19:56:55

en tout cas, après avoir convertit ton programme à advio2 (c´est plus simple et c´est prévu pour)
voila ce que ça donne : http://www.rafb.net/paste/results/GLZsCw42.html

et ça marche parfaitement (j´ai gardé exactement ton code (sauf pour les graphisme) avec juste les deux corrections que je t´ais indiqué).

résultat :
http://img316.imageshack.k.us/my.php?image=fract3kc.jpg

jejej
jejej
Niveau 9
27 novembre 2005 à 21:03:00

YAAAAAAAH !! !!
effectivement , c´etait bien ça l´erreur , maintenant ça marche parfaitement ^^ plus qu´a colorer un peu tout ça et ajouter un zoom :)
Merci Dnob700 :merci:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment