AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez
 

 Fractale : L'ensemble de Mandelbrot

Aller en bas 
AuteurMessage
onilink_
Modérateur
onilink_

Messages : 9098
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptySam 5 Déc 2009 - 13:36

Voila ça c'est peut être jamais vu sous GM : une jolie fractale, l'ensemble de Mandelbrot.
Sa conception nécessite la maitrise des nombres complexes mais c'est tout de même contournable ^^.

Ajout d'unne dll spéciale pour l'ensemble de mandelbrot : http://host-a.net/onilink_/MandelbrotplusDll.rar
Fractale : L'ensemble de Mandelbrot Mandelbrotlarge01

Voici le code en C avec SDL pour ceux qui sont intéressés :
Spoiler:
 


Maintenant sous GM :

Voila, la seule fonction :
get_color_mandelbrot(x,y)
Code:

var X,Y,iter,cr,ci,zr,zi,m;
X = argument0
Y = argument1

iter = 12

cr = X
ci = Y

zr = X
zi = Y

for(m=0 ; m<iter && sqrt(zr*zr + zi*zi)<=2 ; m+=1)
{
    p = zr*zr - zi*zi + X
    zi = 2*zr*zi + Y
    zr = p
}

return make_color_hsv(m*m,255,255-m*m)

Maintenant creez un objet et mettez :
CREATE
Code:

surf = surface_create(256,192)
surface_set_target(surf)
draw_clear(c_white)

for(i=0 ; i<256 ; i+=1)
{
    for(j=0 ; j<192 ; j+=1)
    {
        in = get_color_mandelbrot( (i-256/2-30)/65, (j-192/2)/65 )
        draw_point_color(i,j,in)
    }
}

surface_reset_target()

DRAW
Code:

draw_surface(surf,0,0)

GAME END
Code:

surface_free(surf)

Voila si vous avez des problème de lenteur diminuez la variable iter dans la fonction, bien entendu il y auras une perte de précision...
Je vous précise que les fractales, surtout celle-ci nécessitent beaucoup de calcul donc le temps de lancement est de quelques secondes pour un ordinateur moyen mais risque de prendre pas mal de temps sur les vielles machines ^^.

Un conseil, amusez vous a changer les paramètres de coloration de la fractale, c'est la dernière ligne de la fonction :
default : make_color_hsv(m*m,255,255-m*m)
d'autres :
- make_color_hsv(m*10,m*m,255)
- make_color_rgb(0,ln(m)*90,0)*(m!=iter)
- make_color_rgb(m*m*3,m*m*3,m*m*3)*(m!=iter)

Je posterais d'autres types de coloration par la suite, sinon j'espere que ça vous plairas et @++ !


Dernière édition par onilink_ le Jeu 17 Juin 2010 - 23:00, édité 4 fois
Revenir en haut Aller en bas
Invité
Invité



Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptySam 5 Déc 2009 - 13:56

triforce powaa

excellent boulot, comme d'habitude super
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9098
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptySam 5 Déc 2009 - 14:19

Merci, Et VIVE LA TRIFORCE ! ^^
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptySam 5 Déc 2009 - 14:23

gm n'est pas installé sur mon PC. un screenshot?
[edit] et voilà :
Spoiler:
 

_________________
Fractale : L'ensemble de Mandelbrot Control_commentTous les icones de gm utilisables sur le cbna ICI Fractale : L'ensemble de Mandelbrot Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_

Messages : 9098
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyJeu 24 Déc 2009 - 12:22

Voila j'ai mis la source d'un projet C avec SDL pour les intéressés :pac_dr: .
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas

Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Fractale : L'ensemble de Mandelbrot Panicpr9

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyVen 25 Déc 2009 - 10:04

Waw, génial, ça doit être ma fractale préférée super

_________________
Blithe ND Blog

Blithe ND Free Textures

Blithe ND Website
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
onilink_
Modérateur
onilink_

Messages : 9098
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyJeu 17 Juin 2010 - 23:02

creation d'une dll a source visible pour generer la fractale plus vite.
Par contre draw_point etant relativement lent la generation de la surface reste plus ou moins longue en fonction de sa taille >.<

_________________
Fractale : L'ensemble de Mandelbrot Runningpotato1Fractale : L'ensemble de Mandelbrot TvF6GED
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft

Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyVen 18 Juin 2010 - 12:26

salut, je voulais posé une question.
Je me demandais qu'est ce que c'est ce fractale, pourquoi il est uniforme, y a-t-il quelque chose de special dans celui ci ?

_________________
GLEngine, la génération procédurale avancée !
Image:
 
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
arthuro
Utilisateur confirmé: Rang ****
arthuro

Messages : 1442
Localisation : Paris
Projet Actuel : Diagon https://arthursonzogni.com/Diagon

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyVen 18 Juin 2010 - 13:37

bin une fractal, c'est une figure où on peux la retrouver elle même à une échelle plus petite (dans elle même). Si on zoom dans celle ci, on peux la retrouver à l'identique.

Pour faire la fractal de mendigote.

A tous point (x,y), on regarde si la suite (en prenant l'affixe Z du point)

U(0)=0
U(n+1) = U(n)² + Z

Si sa ne diverge pas, le point appartient à l'ensemble.

Bon, sinon a part que c'est beau, il est dure d'y trouver un intérêt pour l'instant (peu être qu'un jour ? ...)

_________________
Fractale : L'ensemble de Mandelbrot PochetteFractale : L'ensemble de Mandelbrot Signature.php?gid=588
D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
Chulien
Utilisateur confirmé: Rang *****
Chulien

Messages : 2226

Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot EmptyVen 18 Juin 2010 - 15:03

c'est déjà pas mal
Revenir en haut Aller en bas
http://sites.google.com/site/chuliendev
Contenu sponsorisé




Fractale : L'ensemble de Mandelbrot Empty
MessageSujet: Re: Fractale : L'ensemble de Mandelbrot   Fractale : L'ensemble de Mandelbrot Empty

Revenir en haut Aller en bas
 
Fractale : L'ensemble de Mandelbrot
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: