Accueil > > > FRACTAL DE MANDELBROT
FRACTAL DE MANDELBROT
Information sur la source
Description
Le fractal de Mandelbrot est la visualisation d'un objet mathématique. Il s'agit en fait d'une matrice de nombres, où la valeur de chaque nombre est représentée par une couleur. Chaque point de l'image est un nombre calculé par l'ordinateur selon une équation très simple: Zn+1 = Zn2 + C (pour plus d'informations, http://en.wikipedia.org/wiki/Mandelbrot_set). Not ez que pour optimiser le code, on peut écrire une méthode non-managée (dans un bloc unsafe) qui accélérerait considérablement la vitesse d'exécution (SetPixel n'étant pas des plus rapides...). Mais les performances en mode release sont suffisantes pour cette petite démos (moins d'une seconde).
Source
- ''' ------------------------------------------------------------------------
- ''' <summary>
- ''' Draw the fractal.
- ''' </summary>
- ''' <remarks> For more performance, use unmanaged code [unsafe]. </remarks>
- ''' ------------------------------------------------------------------------
- Public Sub DraMandelbrotFractal()
- Using gfx As Graphics = Me.CreateGraphics()
- Me._bmpBuffer = New Bitmap(Me.Width, Me.Height, gfx)
- Dim halfX As Integer = 2 * Me._bmpBuffer.Width / 3
- Dim halfY As Integer = Me._bmpBuffer.Height / 2
- Dim i As Integer, j As Integer = 0
-
- For j = 0 To Me.Height - 1
- For i = 0 To Me.Width - 1
- Dim complex As Complex = New Complex((i - halfX) / 150D, (j - halfY) / 150D)
- Me._bmpBuffer.SetPixel(i, j, Me.GetColor(Me.GetStep(complex)))
- Next
- Next
-
- Graphics.FromImage(Me._bmpBuffer).DrawString("Mandelbrot's Fractal", Me._font, Me._fontBrush, Point.Empty)
- gfx.DrawImage(Me._bmpBuffer, Point.Empty)
- End Using
- End Sub
''' ------------------------------------------------------------------------
''' <summary>
''' Draw the fractal.
''' </summary>
''' <remarks> For more performance, use unmanaged code [unsafe]. </remarks>
''' ------------------------------------------------------------------------
Public Sub DraMandelbrotFractal()
Using gfx As Graphics = Me.CreateGraphics()
Me._bmpBuffer = New Bitmap(Me.Width, Me.Height, gfx)
Dim halfX As Integer = 2 * Me._bmpBuffer.Width / 3
Dim halfY As Integer = Me._bmpBuffer.Height / 2
Dim i As Integer, j As Integer = 0
For j = 0 To Me.Height - 1
For i = 0 To Me.Width - 1
Dim complex As Complex = New Complex((i - halfX) / 150D, (j - halfY) / 150D)
Me._bmpBuffer.SetPixel(i, j, Me.GetColor(Me.GetStep(complex)))
Next
Next
Graphics.FromImage(Me._bmpBuffer).DrawString("Mandelbrot's Fractal", Me._font, Me._fontBrush, Point.Empty)
gfx.DrawImage(Me._bmpBuffer, Point.Empty)
End Using
End Sub
Conclusion
Pour une version C# avec code unmanaged (pointeur): http://www.csharpfr.com/code.aspx?ID=41443
Historique
- 10 février 2007 22:20:29 :
- Corrections dans la description
- 11 février 2007 11:51:29 :
- Ajout "explication finale"
- 11 février 2007 16:22:21 :
- Petite modif'...
- 05 novembre 2008 15:26:51 :
- Ortho
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Pb créer graphique Visual Basic Excel?? [ par jojo38 ]
Salut à toi internaut!!, tout d'abord merci d'avoir choisi de jeter un ptit coup d'oeil sur mon message car j'ai un vrai problème qui doit être élluci
Moteur graphique TOUT SIMPLE [ par Alain Proviste ]
Salut les gens.Bien, je demande votre aide, simple, je veux juste qu'on me guide un tout petit peu parce que j'ai du mal à savoir par où commencer.Sim
Math et graphique [ par guismo1er ]
Salut tout le monde, vous me connaissez surement pas.J'ai fait du PHP, Html, Javascript, Sql, Asp (un peu). et je me suis mis au Visual Basic.Je suis
Math et graphique [ par guismo1er ]
Salut tout le monde, vous me connaissez surement pas.J'ai fait du PHP, Html, Javascript, Sql, Asp (un peu). et je me suis mis au Visual Basic.Je suis
Math et graphique [ par guismo1er ]
Salut tout le monde, vous me connaissez surement pas.J'ai fait du PHP, Html, Javascript, Sql, Asp (un peu). et je me suis mis au Visual Basic.Je suis
Problème de math [matrice] [ par daddycool76 ]
Bonjour, je suis une bouse en math, j'ai un problème que je n'arrive pas à résoudre.Mon prog me donne une série d'équations (de degrés un) qui peuvent
Affichage graphique d'une matrice (labyrinthe) [ par hyougo ]
Bonjour, je suis débutant en programmation et je butte sur pas mal de problèmes. Je souhaite réaliser un générateur de labyrinthe. Pour cela je voudra
Masquer des colonnes en gardant leur fonctionnalité dans un graphique [ par Elayne ]
Bonjour, Eh bien, voici mon problème, c'est pas tres compliqué mais ca m'embete qd meme [^^confus2]): Je cherche tout simplement à masquer un certain
VBA - Excel - Graphique apparait type info bulle [ par theooo ]
Bonjour, Je fais mes premiers pas sur le forum, je programme un tout petit peu en VBA pour me simplifier le quotidien professionnel... Mais la je cal
Probleme traitement graphique trop gournand [ par Luciol44 ]
Voila J'ai fait un petit bargraphe vumetre, mais il est trop gourmand en resource quand on en pose plusieur. Je pense que ca doit venir de la methode
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VITESSEVITESSE par ossama261988
Cliquez pour lire la suite par ossama261988
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|