Jump to content

Drawing Sierpinski Triangle fractal with AutoIt


lokster
 Share

Recommended Posts

This example shows how to draw The Sierpinski triangle with autoit:

Posted Image

sierpinski.au3:

#cs
According to wikipedia, sierpinski triangle is a fractal named after Waclaw Sierpinski 
who described it in 1915. Originally constructed as a curve, this is one of the basic 
examples of self-similar sets, i.e. it is a mathematically generated pattern that can 
be reproducible at any magnification or reduction.
#ce

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)

$Form1 = GUICreate("Sierpinski triangle example (by lokster)", 400, 400)
GUISetOnEvent($GUI_EVENT_CLOSE, "Bye")
GUISetState(@SW_SHOW)

Global $user32 = DllOpen("user32.dll")
Global $gdi32 = DllOpen("gdi32.dll")
Global $hdc = GetDC($Form1)

For $x = 0 To 400
    For $y = 0 To 400
        If BitAND($x,$y) Then
            pix($hdc,$x,$y,0xFFFFFF)
        Else
            pix($hdc,$x,$y,0x000000)
        EndIf
    Next
Next   

While 1
    Sleep(100)
WEnd

Func Bye()
    DllCall ($user32,"int","ReleaseDC","int",$hdc,"hwnd",$Form1)
    DllClose($user32)
    DllClose($gdi32)
    Exit
EndFunc

Func pix($dc,$x,$y,$color)
    DllCall ($gdi32, "long", "SetPixel", "long", $dc, "long", $x, "long", $y, "long", $color)
EndFunc

Func GetDC($handle)
    $dc = DllCall ($user32, "int", "GetDC", "hwnd", $handle)
    Return $dc[0]
EndFunc
Link to comment
Share on other sites

Nice, i can't believe it's so simple!

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

To be honest, I have found this example in wikipedia, but it was written in Java...

I am long time interested in fractals, regardless of my math skills :rolleyes:

Now I am working on a complete script for generating and drawing L-Systems http://en.wikipedia.org/wiki/L-systems

It is 50% in FreeBasic (the iterative calculations) and 50% in autoit - the GUI

Here are some screenshots (I will post the complete script soon):

Posted Image

Posted Image

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...