begin process at 2012 05 27 21:28:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > FRACTALES EN PICWINS

FRACTALES EN PICWINS


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :fractales, picwins, vonkoch Niveau :Initié Date de création :24/03/2008 Date de mise à jour :24/03/2008 14:11:04 Vu / téléchargé :3 083 / 23

Auteur : PaDa

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Disclaimer:
*** Ce code est donné à titre anecdotique : mIRC ne fournit pas les perfs obligatoires pour faire des fractales plus évoluées, mais bon, ça détend entre deux scanners de clones non ? ***

J'ai retrouvé les fractales suivantes dans un vieux script, j'avais posté des screenshots sur sdb, mais je me rends compte que je n'avais laissé les sources nulle part. Donc je corrige l'erreur, avec le screenshot fait à l'époque (qui est de très piètre qualité, merci le jpg obligatoire..) :-)

Comme souvent, je me soustrais un peu au jeu mais je ne poste pas ça pour avoir des critiques sur mon code'style, pour plusieurs raisons :
- je m'en fous un peu des avis des uns et des autres sur mon niveau en mirc, sans méchanceté,
- ces sources ont plus de 2 ans et que je ne les ai pas du tout retravaillées, elles ne reflètent donc pas ce que je coderais aujourd'hui,

Tapez /fractal une fois loadé !

Source

  • Alias fractal {
  • e 0 1
  • e 5 0 Ces aliases montrent des exemples de construction de fractales en picwins
  • e 5 0 Pada - pada.irc@gmail.com - 2008
  • e 5 3 * /vonkoch : Flocon de Von Koch. Plus d'infos : http://fr.wikipedia.org/wiki/Flocon_de_Koch
  • e 5 3 * /fougere [nombre_d_iterations] : Fougère de Barnsley. Plus d'infos :
  • e 5 3 * /sierp [nombre_d_iterations] : Triangle de Sierpinski. Plus d'infos : http://fr.wikipedia.org/wiki/Triangle_de_Sierpinski
  • e 5 3 * /ifs [motif] [nombre_d_iterations] : Iterated Function System, généralisation des deux exemples précédents. Plus d'infos : http://en.wikipedia.org/wiki/Iterated_function_system
  • e 5 7 Motifs acceptés: spirale fougere dragon sierpinski arbre. Par défaut: dragon
  • e 5 7 Attention: l'utilisation de cette fonction nécessite d'avoir le fichier "fract.ini" au même niveau que le remote !
  • e 0 1
  • }
  • Alias -l e echo $$1 -a $str($chr(160),$$2) $3-
  • ;#############
  • Alias vonkoch {
  • if $hget(Fractal) { hfree fractal }
  • hmake fractal 100
  • hadd fractal itr 0
  • hadd fractal 0 100 400
  • hadd fractal 1 500 400
  • hadd fractal 2 300 $calc(400 - $sqrt(3) * 200)
  • hadd fractal 3 100 400
  • window -aCpd @VonKoch -1 -1 600 600
  • vonkoch2
  • }
  • Alias -l vonkoch2 {
  • clear @VonKoch
  • drawfill -c @VonKoch 1 1 1 1
  • if ($hget(fractal,itr) >= 6) { vonkoch | halt }
  • hinc fractal itr
  • ;#"espacement" de chaque ancien point
  • var %i $calc(3 * 4 ^ $hget(fractal,itr))
  • while (%i >= 0) {
  • hadd fractal $calc(%i) $hget(fractal,$calc(%i / 4))
  • dec %i 4
  • }
  • ;#calcul des nouveaux points
  • %i = 0
  • while (%i < $calc(3 * 4 ^ $hget(fractal,itr))) {
  • tokenize 32 $hget(fractal,%i) $hget(fractal,$calc(%i + 4))
  • var %dx $calc($3 - $1) , %dy $calc($4 - $2)
  • hadd fractal $calc(%i + 1) $calc($1 + %dx * 1 / 3) $calc($2 + %dy * 1 / 3)
  • hadd fractal $calc(%i + 3) $calc($1 + %dx * 2 / 3) $calc($2 + %dy * 2 / 3)
  • tokenize 32 $hget(fractal,$calc(%i + 1)) $hget(fractal,$calc(%i + 3))
  • tokenize 32 $calc(($3 - $1) / 2) $calc(($4 - $2) / 2)
  • hadd fractal $calc(%i + 2) $calc($gettok($hget(fractal,$calc(%i + 1)),1,32) + $1 - $2 * $sqrt(3)) $calc($gettok($hget(fractal,$calc(%i + 1)),2,32) + $2 + $1 * $sqrt(3))
  • var %imax = $calc(%i + 4)
  • while (%i < %imax) {
  • tokenize 32 $hget(fractal,%i) $hget(fractal,$calc(%i + 1))
  • drawline @VonKoch 7 2 $1 $2 $3 $4
  • inc %i
  • }
  • }
  • drawtext -bp @VonKoch 15 1 Tahoma 12 420 10 Itération $+ $iif($hget(fractal,itr) > 1,s) $+  : $hget(fractal,itr)
  • drawtext -bp @VonKoch 15 1 Tahoma 12 420 30 Points [3*4^N] : $calc($hget(fractal,0).item - 2)
  • drawtext -bp @VonKoch 15 1 Tahoma 12 10 10 Cliquez pour obtenir l'itération $iif($hget(fractal,itr) >= 6,0,$calc($hget(fractal,itr) + 1))
  • }
  • Menu @VonKoch {
  • sclick:vonkoch2
  • }
  • ;#############
  • ; Fougère de Barnsley
  • ; Coordonnées tirées de http://www.futura-sciences.com/comprendre/d/dossier234-6.php
  • Alias fougere {
  • window -aCpd @Foug -1 -1 400 600
  • drawfill @Foug 1 1 1 1
  • var %n $iif($1,$1,15000),%k 1,%x 50,%y 0
  • while (%k <= %n) {
  • var %r = $rand(0,1000)
  • if (%r <= 10) { %x = 0 | %y = $calc(0.16 * %y) }
  • elseif (%r <= 860) { %x = $calc(0.85 * %x + 0.04 * %y) | %y = $calc(- 0.04 * %x + 0.85 * %y + 1.6) }
  • elseif (%r <= 930) { %x = $calc(0.2 * %x - 0.26 * %y) | %y = $calc(0.23 *%x + 0.22 * %y + 1.6) }
  • else { %x = $calc(- 0.15 * %x + 0.28 * %y) | %y = $calc(0.26 * %x + 0.24 * %y + 0.44) }
  • drawdot @Foug 3 1 $calc(200 - 60 * %x) $calc(600 - 60 * %y)
  • inc %k
  • }
  • }
  • ;#############
  • ; Triangle de Sierpinski
  • Alias sierp {
  • window -aCpd @Sierpinski -1 -1 450 390
  • drawfill @Sierpinski 1 1 1 1
  • var %n $iif($1,$1,15000),%k 1,%x 0,%y 0
  • while (%k <= %n) {
  • var %r = $rand(0,1000)
  • if (%r <= 333) { %x = $calc(0.5 * %x) | %y = $calc(0.5 * %y) }
  • elseif (%r <= 666) { %x = $calc(0.5 * %x + 1) | %y = $calc(0.5 * %y) }
  • else { %x = $calc(0.5 * %x + 0.5) | %y = $calc(0.5 * %y + 0.8660254) }
  • drawdot @Sierpinski 12 1 $calc(400 - 180 * %x) $calc(350 - 200 * %y)
  • inc %k
  • }
  • }
  • ;#############
  • ; Iterated Function System généralisées
  • Alias IFS {
  • if (!$exists($scriptdirfract.ini)) { echo -a Placez "fract.ini" au même niveau que le remote ! | halt }
  • var %b $ticks,%m = $iif($1,$1,dragon),%n = $iif($2,$2,$readini($scriptdirfract.ini,Main,N))
  • tokenize 32 $readini($scriptdirfract.ini,%m,z)
  • if (!%n) { echo -a Erreur: impossible de déterminer la précision : votre fichier fract.ini est il valide ? | halt }
  • var %k 1,%c $1,%x $2,%y $3,%x0 $4,%x1 $5,%y0 $6,%y1 $7,%r
  • if ($window(@IFS)) { close -@ @IFS }
  • window -aCpd @IFS -1 -1 $8 $9
  • drawfill @IFS 1 1 1 1
  • while (%k <= %n) {
  • %r = $rand(0,1000)
  • tokenize 32 $readini($scriptdirfract.ini,%m,1) $readini($scriptdirfract.ini,%m,2) $readini($scriptdirfract.ini,%m,3) $readini($scriptdirfract.ini,%m,4)
  • if (%r <= $7) { %x = $calc($1 * %x + $2 * %y + $5) | %y = $calc($3 * %x + $4 * %y + $6) }
  • elseif (%r <= $14) { %x = $calc($8 * %x + $9 * %y + $12) | %y = $calc($10 * %x + $11 * %y + $13) }
  • elseif (%r <= $21) { %x = $calc($15 * %x + $16 * %y + $19) | %y = $calc($17 * %x + $18 * %y + $20) }
  • elseif (%r <= $28) { %x = $calc($22 * %x + $23 * %y + $26) | %y = $calc($24 * %x + $25 * %y + $27) }
  • drawdot @IFS %c 1 $calc(%x0 - %x1 * %x) $calc(%y0 - %y1 * %y)
  • inc %k
  • }
  • ; echo -ta > $calc(1000 * ($ticks - %b)) s
  • }
  • Menu @IFS {
  • ;sclick:echo -s > $mouse.x $mouse.y
  • Spirale:IFS spirale $readini($scriptdirfract.ini,Main,N)
  • Fougere:IFS fougere $readini($scriptdirfract.ini,Main,N)
  • Dragon:IFS dragon $readini($scriptdirfract.ini,Main,N)
  • Sierpenski:IFS sierpinski $readini($scriptdirfract.ini,Main,N)
  • Arbre:IFS arbre $readini($scriptdirfract.ini,Main,N)
  • -
  • Changer la précision:writeini $scriptdirfract.ini Main N $$?="Points ? (défaut 4000)"
  • }
  • ;#############
  • ; Exposant de Lyapounov
  • ; ATTENTION: NE FONCTIONNE PAS
  • ; Les valeurs à donner sont du genre 50 50 (taille de fenêtre désirée), mais ça fait freezer mIRC *très longtemps*, et pas de résultat OK
  • ; Si vous arrivez à le faire marcher, n'hésitez pas à me dire, j'ai la flemme de regarder !
  • Alias lya {
  • window -aCpd @Lya -1 -1 $1 $$2
  • clear -@ @Lya
  • var %ix 1,%iy 1,%r
  • while (%ix <= $1) {
  • Lya2 %ix $2
  • inc %ix
  • }
  • }
  • Alias -l lya2 { var %iy 1 | while (%iy <= $$2) { drawdot -r @Lya $lya3($1,%iy,400) 1 $calc(200 - $1) $calc(200 - %iy) | inc %iy } }
  • Alias -l lya3 {
  • var %k1 $calc(3 + $1 / 200),%k2 $calc(3 + $2 / 200),%n $$3,%i 1,%r 0 , %x 0.5,%m
  • while %i <= %n {
  • %m = $mid(1122,$calc($calc(%i % 4) + 1),1)
  • %k = $eval($+(%,k,%m),2)
  • %x = $lyautil(%x,%k)
  • %r = $calc(%r + $log($abs(%k * (1 - 2 * %x))) / $log(2))
  • inc %i
  • }
  • %r = $calc(%r / %n * 100)
  • %r = $calc((%r - 158) * 20)
  • ;echo -a R %r
  • ;if (%r <= %min) { set %min %r }
  • ; if (%r >= %max) { set %max %r }
  • return $rgb(%R,%R,%R)
  • }
  • Alias -l lyautil { return $calc($2 * $1 * (1 - $1) ) }
Alias fractal {
  e 0 1
  e 5 0 Ces aliases montrent des exemples de construction de fractales en picwins
  e 5 0 Pada - pada.irc@gmail.com - 2008
  e 5 3 * /vonkoch : Flocon de Von Koch. Plus d'infos : http://fr.wikipedia.org/wiki/Flocon_de_Koch
  e 5 3 * /fougere [nombre_d_iterations] : Fougère de Barnsley. Plus d'infos : 
  e 5 3 * /sierp [nombre_d_iterations] : Triangle de Sierpinski. Plus d'infos : http://fr.wikipedia.org/wiki/Triangle_de_Sierpinski
  e 5 3 * /ifs [motif] [nombre_d_iterations] : Iterated Function System, généralisation des deux exemples précédents. Plus d'infos : http://en.wikipedia.org/wiki/Iterated_function_system
  e 5 7 Motifs acceptés: spirale fougere dragon sierpinski arbre. Par défaut: dragon
  e 5 7 Attention: l'utilisation de cette fonction nécessite d'avoir le fichier "fract.ini" au même niveau que le remote !
  e 0 1 
}
Alias -l e echo $$1 -a $str($chr(160),$$2) $3-

;#############

Alias vonkoch {
  if $hget(Fractal) { hfree fractal }
  hmake fractal 100
  hadd fractal itr 0
  hadd fractal 0 100 400
  hadd fractal 1 500 400
  hadd fractal 2 300 $calc(400 - $sqrt(3) * 200)
  hadd fractal 3 100 400
  window -aCpd @VonKoch -1 -1 600 600
  vonkoch2
}
Alias -l vonkoch2 {
  clear @VonKoch
  drawfill -c @VonKoch 1 1 1 1
  if ($hget(fractal,itr) >= 6) { vonkoch | halt }
  hinc fractal itr 
  ;#"espacement" de chaque ancien point
  var %i $calc(3 * 4 ^ $hget(fractal,itr))
  while (%i >= 0) {
    hadd fractal $calc(%i) $hget(fractal,$calc(%i / 4))
    dec %i 4
  }
  ;#calcul des nouveaux points
  %i = 0 
  while (%i < $calc(3 * 4 ^ $hget(fractal,itr))) {
    tokenize 32 $hget(fractal,%i) $hget(fractal,$calc(%i + 4))
    var %dx $calc($3 - $1) , %dy $calc($4 - $2)
    hadd fractal $calc(%i + 1) $calc($1 + %dx * 1 / 3) $calc($2 + %dy * 1 / 3)
    hadd fractal $calc(%i + 3) $calc($1 + %dx * 2 / 3) $calc($2 + %dy * 2 / 3)
    tokenize 32 $hget(fractal,$calc(%i + 1)) $hget(fractal,$calc(%i + 3))
    tokenize 32 $calc(($3 - $1) / 2) $calc(($4 - $2) / 2)
    hadd fractal $calc(%i + 2) $calc($gettok($hget(fractal,$calc(%i + 1)),1,32) + $1 - $2 * $sqrt(3)) $calc($gettok($hget(fractal,$calc(%i + 1)),2,32) + $2 + $1 * $sqrt(3))
    var %imax = $calc(%i + 4)
    while (%i < %imax) {
      tokenize 32 $hget(fractal,%i) $hget(fractal,$calc(%i + 1))
      drawline @VonKoch 7 2 $1 $2 $3 $4
      inc %i
    }
  }
  drawtext -bp @VonKoch 15 1 Tahoma 12 420 10 Itération $+ $iif($hget(fractal,itr) > 1,s) $+  : $hget(fractal,itr)
  drawtext -bp @VonKoch 15 1 Tahoma 12 420 30 Points [3*4^N] : $calc($hget(fractal,0).item - 2)
  drawtext -bp @VonKoch 15 1 Tahoma 12 10 10 Cliquez pour obtenir l'itération $iif($hget(fractal,itr) >= 6,0,$calc($hget(fractal,itr) + 1)) 
}
Menu @VonKoch { 
  sclick:vonkoch2
}

;#############

; Fougère de Barnsley
; Coordonnées tirées de http://www.futura-sciences.com/comprendre/d/dossier234-6.php

Alias fougere {
  window -aCpd @Foug -1 -1 400 600
  drawfill @Foug 1 1 1 1
  var %n $iif($1,$1,15000),%k 1,%x 50,%y 0 
  while (%k <= %n) {
    var %r = $rand(0,1000)
    if (%r <= 10) { %x = 0 | %y = $calc(0.16 * %y) }
    elseif (%r <= 860) { %x = $calc(0.85 * %x + 0.04 * %y) | %y = $calc(- 0.04 * %x + 0.85 * %y + 1.6) }
    elseif (%r <= 930) { %x = $calc(0.2 * %x - 0.26 * %y) | %y = $calc(0.23 *%x + 0.22 * %y + 1.6) }
    else { %x = $calc(- 0.15 * %x + 0.28 * %y) | %y = $calc(0.26 * %x + 0.24 * %y + 0.44) }
    drawdot @Foug 3 1 $calc(200 - 60 * %x) $calc(600 - 60 * %y)
    inc %k
  }
}

;#############

; Triangle de Sierpinski

Alias sierp {
  window -aCpd @Sierpinski -1 -1 450 390
  drawfill @Sierpinski 1 1 1 1
  var %n $iif($1,$1,15000),%k 1,%x 0,%y 0 
  while (%k <= %n) {
    var %r = $rand(0,1000)
    if (%r <= 333) { %x = $calc(0.5 * %x) | %y = $calc(0.5 * %y) }
    elseif (%r <= 666) { %x = $calc(0.5 * %x + 1) | %y = $calc(0.5 * %y) }
    else { %x = $calc(0.5 * %x + 0.5) | %y = $calc(0.5 * %y + 0.8660254) }
    drawdot @Sierpinski 12 1 $calc(400 - 180 * %x) $calc(350 - 200 * %y)
    inc %k
  }
}

;############# 

; Iterated Function System généralisées

Alias IFS {
  if (!$exists($scriptdirfract.ini)) { echo -a Placez "fract.ini" au même niveau que le remote ! | halt }
  var %b $ticks,%m = $iif($1,$1,dragon),%n = $iif($2,$2,$readini($scriptdirfract.ini,Main,N))
  tokenize 32 $readini($scriptdirfract.ini,%m,z)
  if (!%n) { echo -a Erreur: impossible de déterminer la précision : votre fichier fract.ini est il valide ? | halt }
  var %k 1,%c $1,%x $2,%y $3,%x0 $4,%x1 $5,%y0 $6,%y1 $7,%r
  if ($window(@IFS)) { close -@ @IFS }
  window -aCpd @IFS -1 -1 $8 $9
  drawfill @IFS 1 1 1 1
  while (%k <= %n) {
    %r = $rand(0,1000)
    tokenize 32 $readini($scriptdirfract.ini,%m,1) $readini($scriptdirfract.ini,%m,2) $readini($scriptdirfract.ini,%m,3) $readini($scriptdirfract.ini,%m,4)
    if (%r <= $7) { %x = $calc($1 * %x + $2 * %y + $5) | %y = $calc($3 * %x + $4 * %y + $6) }
    elseif (%r <= $14) { %x = $calc($8 * %x + $9 * %y + $12) | %y = $calc($10 * %x + $11 * %y + $13) }
    elseif (%r <= $21) { %x = $calc($15 * %x + $16 * %y + $19) | %y = $calc($17 * %x + $18 * %y + $20) }
    elseif (%r <= $28) { %x = $calc($22 * %x + $23 * %y + $26) | %y = $calc($24 * %x + $25 * %y + $27) }
    drawdot @IFS %c 1 $calc(%x0 - %x1 * %x) $calc(%y0 - %y1 * %y)
    inc %k
  }
  ; echo -ta > $calc(1000 * ($ticks - %b)) s
}
Menu @IFS {
  ;sclick:echo -s > $mouse.x $mouse.y
  Spirale:IFS spirale $readini($scriptdirfract.ini,Main,N)
  Fougere:IFS fougere $readini($scriptdirfract.ini,Main,N) 
  Dragon:IFS dragon $readini($scriptdirfract.ini,Main,N)
  Sierpenski:IFS sierpinski $readini($scriptdirfract.ini,Main,N)
  Arbre:IFS arbre $readini($scriptdirfract.ini,Main,N)
  -
  Changer la précision:writeini $scriptdirfract.ini Main N $$?="Points ? (défaut 4000)"
}



;#############

; Exposant de Lyapounov
; ATTENTION: NE FONCTIONNE PAS
; Les valeurs à donner sont du genre 50 50 (taille de fenêtre désirée), mais ça fait freezer mIRC *très longtemps*, et pas de résultat OK
; Si vous arrivez à le faire marcher, n'hésitez pas à me dire, j'ai la flemme de regarder !

Alias lya {
  window -aCpd @Lya -1 -1 $1 $$2
  clear -@ @Lya
  var %ix 1,%iy 1,%r
  while (%ix <= $1) {
    Lya2 %ix $2
    inc %ix
  }
}
Alias -l lya2 { var %iy 1 | while (%iy <= $$2) { drawdot -r @Lya $lya3($1,%iy,400) 1 $calc(200 - $1) $calc(200 - %iy) | inc %iy } }
Alias -l lya3 {
  var %k1 $calc(3 + $1 / 200),%k2 $calc(3 + $2 / 200),%n $$3,%i 1,%r 0 , %x 0.5,%m
  while %i <= %n {
    %m = $mid(1122,$calc($calc(%i % 4) + 1),1)
    %k = $eval($+(%,k,%m),2)
    %x = $lyautil(%x,%k)
    %r = $calc(%r + $log($abs(%k * (1 - 2 * %x))) / $log(2))
    inc %i
  }
  %r = $calc(%r / %n * 100)
  %r = $calc((%r - 158) * 20)
  ;echo -a R %r
  ;if (%r <= %min) { set %min %r }
  ; if (%r >= %max) { set %max %r }
  return $rgb(%R,%R,%R)
}
Alias -l lyautil { return $calc($2 * $1 * (1 - $1) ) }

 Conclusion

/fractal pour l'aide.

Attention:
- l'alias "/ifs" nécessite le fichier fract.ini pour fonctionner, donc pour l'utiliser vous devrez télécharger le .zip. La source se suffit à elle même pour les autres cas...
- l'alias /lya ne fonctionne pas, mais il y a de l'idée (enfin je suppose, ça remonte loin), donc pour les plus acharnés..
- testé sur mIRC 6.16 et 6.31, pas de garantie sur les vieilles versions..

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

24 mars 2008 10:06:55 :
typo errors
24 mars 2008 14:11:05 :
Corrections suite aux commentaires : - fractal.ini -> fract.ini - les options des commandes /window sont réduites pour fonctionner sur les versions récentes.

 Sources du même auteur

Source avec Zip Source avec une capture GEOTOOLS : GESTION D'UN UWORLD
ASPIRATEUR DE GALERIES INTERNET
Source avec Zip Source avec une capture SCANNER MULTIFONCTIONS
Source avec Zip QUOTEUR (MDX)
SNIPPET $M2H : MIRC -> HTML

 Sources de la même categorie

Source avec Zip CRÉER DU MONDE SUR VOTRE SERVEUR IRC par Averell
AVOIR UNE LISTE D'UTILISATEUR EN COULEURS SELON LEURS SEXE P... par WorldDMT
COMMANDES FANTAISIES ( OP DEOP , VOICE DEVOICE ) ORIGINALES par Orona
Source avec Zip Source avec une capture CORRECTEUR par Orona
Source avec Zip Source avec une capture [DLL] DESSINER COMME LES PICWINS SUR UNE DIALOGBOX (BONUS: J... par uaip

Commentaires et avis

Commentaire de RCA ArKanis le 24/03/2008 11:57:04

effectivement, ça fait du bien de voir de telles sources de temps en temps :D
C'est tout de même étrange, il faut que je tape 2x chaque commande pour que ça fonctionne ^^
J'ai testé quelques trucs, il s'avère que le -h et le -a doivent être sur deux commandes séparées. D'abord du -h avec l'ouverture de la fenêtre et ensuite tu l'actives.

tu parles de fractal.ini mais c'est fract.ini
ici : Attention: l'utilisation de cette fonction nécessite d'avoir le fichier "fractal.ini" au même niveau que le remote !

Rien à redire sur le code, tu t'en doutes ;) Il me semble que je l'avais déjà testé y'a quelques années :)
En tout cas, les résultats sont bluffants

Commentaire de PaDa le 24/03/2008 14:08:59

Je corrige les points 1 et 2 tout de suite : j'ai envoyé la mauvaise source, en effet, j'avais constaté sous mIRC 6.31 que "-a0Cpdh" ne convenait pas. Je l'avais remplacé par "-aCpd" partout, ce que je vais refaire immédiatemment. Aucun souci sous mIRC 6.16 en revanche, peut-être que les options ne font pas exactement la même chose ?

Merci pour ce commentaire en tout cas =)

Commentaire de wims le 24/03/2008 17:58:13

Le comportement de -h a changer durant les version mais c'est corrigé sur la 6.31 (tu voudrais pas Activer la fenetre et la Hide en même temps =) ?)

Sinon c'est vraiment bien, assez jolie, mais malheuresement très lent

Pour /lya, tu n'aurais pas un lien externe ?
Chapeau bas quand même

Commentaire de PaDa le 25/03/2008 10:09:12

J'avoue que je ne sais même pas pourquoi j'avais mis un "-h" honnêtement... Enfin, c'est corrigé. Et en effet, c'est très lent, mais mIRC n'est pas le seul fautif ! J'y suis pour quelque chose côté VonKoch, kenji a une implémentation bien meilleure que la mienne. Si je me souviens bien, je calcule chaque point en itérant alors que lui utilise une méthode résursive, et ça change tout, sax m'avait fait remarquer ça : http://www.scriptsdb.org/comments.php?id=483

Pour les autres fractales, il y a certainement aussi ce genre de soucis. C'est donc bien uniquement à titre anecdotique ;-)

Pour Lyapounov :
- http://fr.wikipedia.org/wiki/Fractale_de_Lyapunov < les infos courantes
- http://pagesperso-orange.fr/charles.vassallo/fr/lyap_art/images1.html < j'essayais d'arriver à ça
- http://math.cmaisonneuve.qc.ca/alevesque/chaos_fract/Lyapunov/Lyapunov.html < je serais peut-être arrivé au 2e dessin de cette page :/ .. il y a un algo lisible dedans
- http://gjoly.free.fr/fractales/?s=exposant&lang=en-US < une autre page présentant l'algo

Commentaire de VestaX le 25/03/2008 11:10:06 10/10

whaoo whaoo whaooo, ca fais plaisir de voir que le langage IRC n'est pas encore etteinds. je te félicite, et je ne savais pas que tu étais un cador en picwin Pada :)

C'est vrai que le langage IRC est en voie d'extinction. C'est bien dommafge car c'est un langage facile et assez puissant, même si ca plante souvent lors des requetes assez lourdes.

10/10

Commentaire de wims le 29/03/2008 20:57:16

Rien ne plante lors des requetes assez lourdes...
J'irais voir les lien si j'ai le temps, merci =]

Commentaire de VestaX le 30/03/2008 09:49:08

WIMS, je ne parlais pas des sources de Pada, mais personnelement, j'ai deja fais des sources tellement lourdes que ca plantait. Exemple, j'avais fais ya quelque temps un nettoyeur windows, qui supprimait les cookies, fichiers temporaires, prefetch, etc... j'avais meme utilisé une dll pour degeler les boucles, et ca plante quand meme. Mirc n'est pas fais pour gerer les grosses requetes.

C'est pour ca que je m'acharne sur le VB en ce moment :p

Commentaire de wims le 30/03/2008 12:29:32

Moi non plus je ne parlais pas des sources de Pada, mais de mIRC en général.
Ton nettoyeur window, il me semble qu'on en a uniquement vu un screenshot, jamais la source entière :], je vois pas en quoi c'est une grosse requête que de /remove des fichiers.
Les whiles ont toujours fait planter mIRC, utilise des timers pour executer rapidement les choses sans faire planter mirc.
La seule limite en mIRC est la vitesse d'execution

Commentaire de VestaX le 30/03/2008 17:26:06

WIMS, le nettoyeur que j'avais fait utilisais la DLL whilefix qui logiquement etait censsé dégeler mirc lors des grosses requetes. Hors ce n'étais pas le cas. Pour ma source, je ne l'ai jamais sortit car justement les requetes sont lourdes et ca plante.
je reccuperais tout les fichiers se trouvants dans "Temps" "Applications data" "Content.ie5" et encore bien d'autre, alors immagine le pauvre Mirc il n'a pas tenu le coup.
Et crois moi que j'ai un PC qui bombarde. De plus les timers aurrais étés trop longs pour supprimer les fichiers.

Bref, je pense que ca ne sert a rien de flooder l'espace reservé a Pada :)

Commentaire de wims le 30/03/2008 19:06:13

Moi je suis bien curieux, si tu as encore le code, j'aimerai bien pouvoir le voir

Commentaire de VestaX le 30/03/2008 19:12:31

olà!!! malheuresement je ne l'ai plus, c'est un truc que j'avais fais ya plus d'1 an. Et vu que ca plantait mirc tellement les requetes était importantes, j'ai décidé de ne pas sortir le projet. Du coup ca a été supprimé, disque dur formaté 2 ou 3x. Maintenant j'utilise Ccleaner pour nettoyer mon pc :p

Vraiment désolé

Commentaire de VestaX le 30/03/2008 19:28:15

WIMS, bonne nouvelle, j'ai réussi a réccupéré ce code depuis un serveur ou je l'avais mis. Je te file le lien, et je te laisse le mettre a ta sauce. Désolé, mais trop la flemme de tout modifier. Tu aurra juste a faire sauter l'image de la boite de dialog, et a donner les bonnes directions aux dll.

http://grenoblelesalon.free.fr/sup.mrc

Mais comme je te dis, ca plante, car c'est trop lourd pour mirc.

Commentaire de wims le 30/03/2008 20:22:04

Assez gros et pas très bien codé comme code ^^
Mais malheuresement il manque des alias dans ton code, tel que /charge-mdx et d'autre,

Commentaire de RCA ArKanis le 30/03/2008 22:11:47

non mais c'est pas bientôt fini de déranger les gens pendant toute la journée ? j'reçois plein plein de mails ! :p

vraiment désolé pour toi pada :(
vous pensez pas qu'il aurait été plus judicieux de continuer la conversation en privé ? :D

Commentaire de PaDa le 30/03/2008 22:25:31

Je lis discretos moi ;) C'est vrai que c'est pas le bon endroit, mais c'est intéressant ce genre de discussions !

Commentaire de wims le 30/03/2008 22:44:18

Je pense pas que ça soit vraiment gênant de ne pas continué en privée, mais pour me faire pardonner voici un cadeau :

alias pada_picwin {
  if ($window(@pic)) window -c $v1
  window -dwpCf +L @pic -1 -1 300 300
  var %a 1000 ,%text
  while (%a) {
    var %draw drawdot -nr
    var %d 8 ,%c $r(1,16777215)
    var %x $r(1,300) ,%y $r(1,300)
    %draw @pic %c %d %x %y
    if (4 // %a) { drawrot -fn @pic %a 150 150 }
    if (8 // %a) { inc %text | drawtext -rn @pic %c verdana 72 142 140 $mid(Pada,%text,1) | if (%text == 4) %text = 0 }
    drawdot @pic
    dec %a
  }
}

Moi j'aime beaucoup !

Commentaire de PaDa le 31/03/2008 05:20:50

Joli !! Je le garde de côté celui là ;)

Commentaire de KiNdErMaXi le 02/04/2008 16:14:26

Je fais genre je connais les fractals ou je me contente de dire que c'est joli ? :D

C'est joli :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Combo picwin ? [ par Lestat_2070 ] Bonjour &#224; tous, Voil&#224; j'ai enfin d&#233;cid&#233; de me lancer dans les picwins , j'ai d'ailleurs lut attentivement les deux tutos de Kinder


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales