Après avoir adapté pour VBA un algorithme permettant
d'obtenir une fractale nommée « Triangle de Sierpinski »
en utilisant la fonction logique « Or », je me suis amusé
à modifier un tantinet la macro.
Et ah ! les belles structures qui surgirent alors ;-)
Il me semble que ça vaut le coup d'oil.
Environnement de mes macros :
Résolution 1024 x 768 sur un écran de 17 pouces.
Temps d'exécution de la macro « Quatre_Portraits_Logiques »
sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes.
Qui détient le record de vitesse ?
Sub Affichage()
'Ajoute une feuille et la met en forme:
Sheets.Add
Application.DisplayFullScreen = True
Cells.ColumnWidth = 0.25
Cells.RowHeight = 2.25
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = True
End With
End Sub
Sub Triangle_De_Sierpinski()
Dim i As Integer, j As Integer
Affichage
'Pour noircir 6559 cellules:
For i = 1 To 255
For j = 1 To 255
If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1
Next j
Next i
End Sub
Sub Portrait_Logique1()
Dim i As Integer, j As Integer
Affichage
'Coloriage de 65 025 cellules:
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j)))
Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique2()
Dim i As Integer, j As Integer
Affichage
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique3()
'Temps d'exécution sur mon ordi: 3 minutes.
Dim i As Integer, j As Integer
Affichage
'Coloriage de 130 050 cellules:
For i = 1 To 510
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod
56
Next j
Next i
'Défilement vertical de la feuille:
For i = 1 To 280
ActiveWindow.SmallScroll Down:=1
Next i
End Sub
Sub Quatre_Portraits_Logiques()
Dim t1, t2
t1 = Time
Triangle_De_Sierpinski
Portrait_Logique1
Portrait_Logique2
Portrait_Logique3
t2 = Time
MsgBox Format(t2 - t1, "hh:mm:ss")
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
Bonjour Serge,
Bravo, magnifique !
Et ce coup là mon micro n'a pas planté Jean Paul.
Sinon,
Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" <rien@absent.net> a écrit dans le message de news:
eU8VKqGRFHA.612@TK2MSFTNGP14.phx.gbl...
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant
d'obtenir une fractale nommée « Triangle de Sierpinski »
en utilisant la fonction logique « Or », je me suis amusé
à modifier un tantinet la macro.
Et ah ! les belles structures qui surgirent alors ;-)
Il me semble que ça vaut le coup d'oil.
Environnement de mes macros :
Résolution 1024 x 768 sur un écran de 17 pouces.
Temps d'exécution de la macro « Quatre_Portraits_Logiques »
sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes.
Qui détient le record de vitesse ?
Sub Affichage()
'Ajoute une feuille et la met en forme:
Sheets.Add
Application.DisplayFullScreen = True
Cells.ColumnWidth = 0.25
Cells.RowHeight = 2.25
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = True
End With
End Sub
Sub Triangle_De_Sierpinski()
Dim i As Integer, j As Integer
Affichage
'Pour noircir 6559 cellules:
For i = 1 To 255
For j = 1 To 255
If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1
Next j
Next i
End Sub
Sub Portrait_Logique1()
Dim i As Integer, j As Integer
Affichage
'Coloriage de 65 025 cellules:
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j)))
Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique2()
Dim i As Integer, j As Integer
Affichage
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique3()
'Temps d'exécution sur mon ordi: 3 minutes.
Dim i As Integer, j As Integer
Affichage
'Coloriage de 130 050 cellules:
For i = 1 To 510
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j)))
Mod
56
Next j
Next i
'Défilement vertical de la feuille:
For i = 1 To 280
ActiveWindow.SmallScroll Down:=1
Next i
End Sub
Sub Quatre_Portraits_Logiques()
Dim t1, t2
t1 = Time
Triangle_De_Sierpinski
Portrait_Logique1
Portrait_Logique2
Portrait_Logique3
t2 = Time
MsgBox Format(t2 - t1, "hh:mm:ss")
End Sub
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
jps
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de 65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des limites.... jps
"LSteph" a écrit dans le message de news:
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du
garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû
acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu
comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de
65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des
limites....
jps
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de
news:ObqOAWKRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour Serge,
Bravo, magnifique !
Et ce coup là mon micro n'a pas planté Jean Paul.
Sinon,
Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" <rien@absent.net> a écrit dans le message de news:
eU8VKqGRFHA.612@TK2MSFTNGP14.phx.gbl...
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant
d'obtenir une fractale nommée « Triangle de Sierpinski »
en utilisant la fonction logique « Or », je me suis amusé
à modifier un tantinet la macro.
Et ah ! les belles structures qui surgirent alors ;-)
Il me semble que ça vaut le coup d'oil.
Environnement de mes macros :
Résolution 1024 x 768 sur un écran de 17 pouces.
Temps d'exécution de la macro « Quatre_Portraits_Logiques »
sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes.
Qui détient le record de vitesse ?
Sub Affichage()
'Ajoute une feuille et la met en forme:
Sheets.Add
Application.DisplayFullScreen = True
Cells.ColumnWidth = 0.25
Cells.RowHeight = 2.25
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = True
End With
End Sub
Sub Triangle_De_Sierpinski()
Dim i As Integer, j As Integer
Affichage
'Pour noircir 6559 cellules:
For i = 1 To 255
For j = 1 To 255
If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1
Next j
Next i
End Sub
Sub Portrait_Logique1()
Dim i As Integer, j As Integer
Affichage
'Coloriage de 65 025 cellules:
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j)))
Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique2()
Dim i As Integer, j As Integer
Affichage
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique3()
'Temps d'exécution sur mon ordi: 3 minutes.
Dim i As Integer, j As Integer
Affichage
'Coloriage de 130 050 cellules:
For i = 1 To 510
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j)))
Mod
56
Next j
Next i
'Défilement vertical de la feuille:
For i = 1 To 280
ActiveWindow.SmallScroll Down:=1
Next i
End Sub
Sub Quatre_Portraits_Logiques()
Dim t1, t2
t1 = Time
Triangle_De_Sierpinski
Portrait_Logique1
Portrait_Logique2
Portrait_Logique3
t2 = Time
MsgBox Format(t2 - t1, "hh:mm:ss")
End Sub
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de 65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des limites.... jps
"LSteph" a écrit dans le message de news:
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
GD
Bonsour® Serge chez moi 0:01:19 une machine "vieille" de 3 ans : Pentium IV Intel 2.6Ghz Radeon 9600 TX 128 Mo
il y a moyen de faire mieux ;o))) en utilisant des application.screenupdating = False/True 0:00:37
@+
Garnote wrote:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
Bonsour® Serge
chez moi 0:01:19
une machine "vieille" de 3 ans :
Pentium IV Intel 2.6Ghz
Radeon 9600 TX 128 Mo
il y a moyen de faire mieux ;o)))
en utilisant des application.screenupdating = False/True
0:00:37
@+
Garnote wrote:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant
d'obtenir une fractale nommée « Triangle de Sierpinski »
en utilisant la fonction logique « Or », je me suis amusé
à modifier un tantinet la macro.
Et ah ! les belles structures qui surgirent alors ;-)
Il me semble que ça vaut le coup d'oil.
Environnement de mes macros :
Résolution 1024 x 768 sur un écran de 17 pouces.
Temps d'exécution de la macro « Quatre_Portraits_Logiques »
sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes.
Qui détient le record de vitesse ?
Sub Affichage()
'Ajoute une feuille et la met en forme:
Sheets.Add
Application.DisplayFullScreen = True
Cells.ColumnWidth = 0.25
Cells.RowHeight = 2.25
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = True
End With
End Sub
Sub Triangle_De_Sierpinski()
Dim i As Integer, j As Integer
Affichage
'Pour noircir 6559 cellules:
For i = 1 To 255
For j = 1 To 255
If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1
Next j
Next i
End Sub
Sub Portrait_Logique1()
Dim i As Integer, j As Integer
Affichage
'Coloriage de 65 025 cellules:
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor
j))) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique2()
Dim i As Integer, j As Integer
Affichage
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique3()
'Temps d'exécution sur mon ordi: 3 minutes.
Dim i As Integer, j As Integer
Affichage
'Coloriage de 130 050 cellules:
For i = 1 To 510
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not
(j))) Mod 56
Next j
Next i
'Défilement vertical de la feuille:
For i = 1 To 280
ActiveWindow.SmallScroll Down:=1
Next i
End Sub
Sub Quatre_Portraits_Logiques()
Dim t1, t2
t1 = Time
Triangle_De_Sierpinski
Portrait_Logique1
Portrait_Logique2
Portrait_Logique3
t2 = Time
MsgBox Format(t2 - t1, "hh:mm:ss")
End Sub
Bonsour® Serge chez moi 0:01:19 une machine "vieille" de 3 ans : Pentium IV Intel 2.6Ghz Radeon 9600 TX 128 Mo
il y a moyen de faire mieux ;o))) en utilisant des application.screenupdating = False/True 0:00:37
@+
Garnote wrote:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
twinley
Salut Garnote
53" avec un PIV 1024 meg de ram
j'ai un peu paniqué, ça m'a semblé horriblement long, mais il fallait y croire...
à+twinley
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de 65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des limites.... jps
"LSteph" a écrit dans le message de news:
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
Bonne journée, Serge
Salut Garnote
53"
avec un PIV 1024 meg de ram
j'ai un peu paniqué, ça m'a semblé horriblement long, mais il fallait y
croire...
à+twinley
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du
garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû
acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu
comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de
65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des
limites....
jps
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de
news:ObqOAWKRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour Serge,
Bravo, magnifique !
Et ce coup là mon micro n'a pas planté Jean Paul.
Sinon,
Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" <rien@absent.net> a écrit dans le message de news:
eU8VKqGRFHA.612@TK2MSFTNGP14.phx.gbl...
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant
d'obtenir une fractale nommée « Triangle de Sierpinski »
en utilisant la fonction logique « Or », je me suis amusé
à modifier un tantinet la macro.
Et ah ! les belles structures qui surgirent alors ;-)
Il me semble que ça vaut le coup d'oil.
Environnement de mes macros :
Résolution 1024 x 768 sur un écran de 17 pouces.
Temps d'exécution de la macro « Quatre_Portraits_Logiques »
sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes.
Qui détient le record de vitesse ?
Sub Affichage()
'Ajoute une feuille et la met en forme:
Sheets.Add
Application.DisplayFullScreen = True
Cells.ColumnWidth = 0.25
Cells.RowHeight = 2.25
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayWorkbookTabs = True
End With
End Sub
Sub Triangle_De_Sierpinski()
Dim i As Integer, j As Integer
Affichage
'Pour noircir 6559 cellules:
For i = 1 To 255
For j = 1 To 255
If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1
Next j
Next i
End Sub
Sub Portrait_Logique1()
Dim i As Integer, j As Integer
Affichage
'Coloriage de 65 025 cellules:
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j)))
Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique2()
Dim i As Integer, j As Integer
Affichage
For i = 1 To 255
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56)
Next j
Next i
End Sub
Sub Portrait_Logique3()
'Temps d'exécution sur mon ordi: 3 minutes.
Dim i As Integer, j As Integer
Affichage
'Coloriage de 130 050 cellules:
For i = 1 To 510
For j = 1 To 255
Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j)))
Mod
56
Next j
Next i
'Défilement vertical de la feuille:
For i = 1 To 280
ActiveWindow.SmallScroll Down:=1
Next i
End Sub
Sub Quatre_Portraits_Logiques()
Dim t1, t2
t1 = Time
Triangle_De_Sierpinski
Portrait_Logique1
Portrait_Logique2
Portrait_Logique3
t2 = Time
MsgBox Format(t2 - t1, "hh:mm:ss")
End Sub
j'ai un peu paniqué, ça m'a semblé horriblement long, mais il fallait y croire...
à+twinley
ben, je vais te dire un truc, LSteph, moi, les procs à la chiche m'a eu du garnote du québec, il y éperluette que je ne les teste plus : j'ai déjà dû acheter 12 ordis à cause de notre bouillant prof de maths, alors, tu comprends LSteph, j'aime bien Boulanger mais quand je vois "coloriage de 65025 cellules", moi qui n'en vois qu'une trentaine sur l'écran, y a des limites.... jps
"LSteph" a écrit dans le message de news:
Bonjour Serge, Bravo, magnifique ! Et ce coup là mon micro n'a pas planté Jean Paul. Sinon, Ma femme était dégoutée , elle qui a commencé sa broderie il y a 3 ans...
A bientôt.
lSteph
"garnote" a écrit dans le message de news:
Bonjour tout le monde,
Après avoir adapté pour VBA un algorithme permettant d'obtenir une fractale nommée « Triangle de Sierpinski » en utilisant la fonction logique « Or », je me suis amusé à modifier un tantinet la macro. Et ah ! les belles structures qui surgirent alors ;-) Il me semble que ça vaut le coup d'oil. Environnement de mes macros : Résolution 1024 x 768 sur un écran de 17 pouces. Temps d'exécution de la macro « Quatre_Portraits_Logiques » sur AuthenticAMD AMD-K6(tm) 3D processor, 256 Mo RAM : 7 minutes. Qui détient le record de vitesse ?
Sub Affichage() 'Ajoute une feuille et la met en forme: Sheets.Add Application.DisplayFullScreen = True Cells.ColumnWidth = 0.25 Cells.RowHeight = 2.25 With ActiveWindow .DisplayGridlines = False .DisplayHeadings = False .DisplayWorkbookTabs = True End With End Sub
Sub Triangle_De_Sierpinski() Dim i As Integer, j As Integer Affichage 'Pour noircir 6559 cellules: For i = 1 To 255 For j = 1 To 255 If (i Or j) = 255 Then Cells(i, j).Interior.ColorIndex = 1 Next j Next i End Sub
Sub Portrait_Logique1() Dim i As Integer, j As Integer Affichage 'Coloriage de 65 025 cellules: For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs((i Imp j) + (i Xor j))) Mod 56) Next j Next i End Sub
Sub Portrait_Logique2() Dim i As Integer, j As Integer Affichage For i = 1 To 255 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = 1 + ((Abs(i Eqv j)) Mod 56) Next j Next i End Sub
Sub Portrait_Logique3() 'Temps d'exécution sur mon ordi: 3 minutes. Dim i As Integer, j As Integer Affichage 'Coloriage de 130 050 cellules: For i = 1 To 510 For j = 1 To 255 Cells(i, j).Interior.ColorIndex = Abs((i Imp j) Or (i + Not (j))) Mod 56 Next j Next i 'Défilement vertical de la feuille: For i = 1 To 280 ActiveWindow.SmallScroll Down:=1 Next i End Sub
Sub Quatre_Portraits_Logiques() Dim t1, t2 t1 = Time Triangle_De_Sierpinski Portrait_Logique1 Portrait_Logique2 Portrait_Logique3 t2 = Time MsgBox Format(t2 - t1, "hh:mm:ss") End Sub
il me semble qu'il existe un "ring" des sites "Fractales"... http://www.ringsurf.com/netring?ring=Fractal_Art_Ring;action=rand
en attendant et en suivant tes liens : http://www.fractalus.com/downloads/source/ ;o)))
GD
Bonsour® Max pour passer d'une dimension quasi papale... à une dimension "modeste" voir ici : minilien.com et le résultat : http://minilien.com/?vQy8K3ns2t
il me semble qu'il existe un "ring" des sites "Fractales"... http://www.ringsurf.com/netring?ring=Fractal_Art_Ring;action=rand
en attendant et en suivant tes liens : http://www.fractalus.com/downloads/source/ ;o)))
Bonsour® Max
pour passer d'une dimension quasi papale...
à une dimension "modeste"
voir ici :
minilien.com
et le résultat :
http://minilien.com/?vQy8K3ns2t
Bonsour® Max pour passer d'une dimension quasi papale... à une dimension "modeste" voir ici : minilien.com et le résultat : http://minilien.com/?vQy8K3ns2t
il me semble qu'il existe un "ring" des sites "Fractales"... http://www.ringsurf.com/netring?ring=Fractal_Art_Ring;action=rand
en attendant et en suivant tes liens : http://www.fractalus.com/downloads/source/ ;o)))
twinley
Alors là ! ALORS LA ! c'est une avancée majeure...
c'est magique et ça fait moins plouc.
http://minilien.com/?K1YX3aDb4m
8-)
à+twinley
Bonsour® Max pour passer d'une dimension quasi papale... à une dimension "modeste" voir ici : minilien.com et le résultat : http://minilien.com/?vQy8K3ns2t
il me semble qu'il existe un "ring" des sites "Fractales"... http://www.ringsurf.com/netring?ring=Fractal_Art_Ring;action=rand
en attendant et en suivant tes liens : http://www.fractalus.com/downloads/source/ ;o)))
Alors là ! ALORS LA ! c'est une avancée majeure...
c'est magique et ça fait moins plouc.
http://minilien.com/?K1YX3aDb4m
8-)
à+twinley
Bonsour® Max
pour passer d'une dimension quasi papale...
à une dimension "modeste"
voir ici :
minilien.com
et le résultat :
http://minilien.com/?vQy8K3ns2t
Alors là ! ALORS LA ! c'est une avancée majeure...
c'est magique et ça fait moins plouc.
http://minilien.com/?K1YX3aDb4m
8-)
à+twinley
Bonsour® Max pour passer d'une dimension quasi papale... à une dimension "modeste" voir ici : minilien.com et le résultat : http://minilien.com/?vQy8K3ns2t