Júlia

Amikor Gaston Julia (1893 – 1978) kiötlötte a róla elnevezett halmazokat, felsóhajtott: eljön a kor, amikor láthatják is majd őket…

A Julia-halmazok olyannyira közismertek, hogy nehezítésképpen egy kínai honlapról javaslom ismereteink felelevenítését:

http://www.matrix67.com/blog/archives/292

Csak egészen speciális esetben írjunk programot a megjelenítésére. Minek is fáradoznánk, az internetet fölös bőségben árasztják el az ilyen programok.

Ha azonban előáll egy ilyen ok, könnyű kézzel, sietve lássunk munkához. Ilyen ok például az, hogy ki akarjuk használni 2010-es Excelünk kedvező adottságait (igen, ilyenek is vannak). Elsőként a cellák méreteit zsugorítsuk egy képernyőpontnyira. Jó, ha a sor- és oszlopazonosítók fekete vonallá zsugorodott látványától megszabadulunk. Ezt követően állítsuk be a munkafüzet színeit kedvünk szerint. Az ötödiknek bemutatott képhez én a következő sémát alkalmaztam:

Sub atallito()
‘ Rögzítette: your humble narrator, 2013.11.12.

ActiveWorkbook.Colors(1) = RGB(0, 0, 0)
ActiveWorkbook.Colors(2) = RGB(255, 0, 0)
ActiveWorkbook.Colors(3) = RGB(0, 10, 0)
ActiveWorkbook.Colors(4) = RGB(240, 10, 2)
ActiveWorkbook.Colors(5) = RGB(6, 50, 8)
ActiveWorkbook.Colors(6) = RGB(225, 20, 4)
ActiveWorkbook.Colors(7) = RGB(12, 9, 3)
ActiveWorkbook.Colors(8) = RGB(210, 30, 6)
ActiveWorkbook.Colors(9) = RGB(16, 12, 4)
ActiveWorkbook.Colors(10) = RGB(195, 40, 8)
ActiveWorkbook.Colors(11) = RGB(20, 15, 5)
ActiveWorkbook.Colors(12) = RGB(180, 50, 10)
ActiveWorkbook.Colors(13) = RGB(24, 18, 6)
ActiveWorkbook.Colors(14) = RGB(165, 60, 12)
ActiveWorkbook.Colors(15) = RGB(28, 21, 7)
ActiveWorkbook.Colors(16) = RGB(150, 70, 14)
ActiveWorkbook.Colors(17) = RGB(32, 24, 8)
ActiveWorkbook.Colors(18) = RGB(135, 80, 16)
ActiveWorkbook.Colors(19) = RGB(36, 27, 9)
ActiveWorkbook.Colors(20) = RGB(120, 90, 18)
ActiveWorkbook.Colors(21) = RGB(230, 195, 175)
ActiveWorkbook.Colors(22) = RGB(40, 30, 10)
ActiveWorkbook.Colors(23) = RGB(0, 155, 22)
ActiveWorkbook.Colors(24) = RGB(44, 33, 11)
ActiveWorkbook.Colors(25) = RGB(0, 135, 44)
ActiveWorkbook.Colors(26) = RGB(48, 36, 12)
ActiveWorkbook.Colors(27) = RGB(0, 115, 66)
ActiveWorkbook.Colors(28) = RGB(52, 39, 13)
ActiveWorkbook.Colors(29) = RGB(0, 175, 88)
ActiveWorkbook.Colors(30) = RGB(56, 42, 14)
ActiveWorkbook.Colors(31) = RGB(0, 155, 110)
ActiveWorkbook.Colors(32) = RGB(60, 45, 15)
ActiveWorkbook.Colors(33) = RGB(0, 135, 132)
ActiveWorkbook.Colors(34) = RGB(64, 48, 16)
ActiveWorkbook.Colors(35) = RGB(0, 115, 154)
ActiveWorkbook.Colors(36) = RGB(68, 51, 17)
ActiveWorkbook.Colors(37) = RGB(0, 95, 176)
ActiveWorkbook.Colors(38) = RGB(72, 54, 18)
ActiveWorkbook.Colors(39) = RGB(0, 75, 198)
ActiveWorkbook.Colors(40) = RGB(76, 57, 19)
ActiveWorkbook.Colors(41) = RGB(0, 55, 220)
ActiveWorkbook.Colors(42) = RGB(80, 60, 20)
ActiveWorkbook.Colors(43) = RGB(0, 35, 242)
ActiveWorkbook.Colors(44) = RGB(84, 63, 21)
ActiveWorkbook.Colors(45) = RGB(255, 255, 0)
ActiveWorkbook.Colors(46) = RGB(88, 66, 22)
ActiveWorkbook.Colors(47) = RGB(210, 205, 20)
ActiveWorkbook.Colors(48) = RGB(92, 69, 23)
ActiveWorkbook.Colors(49) = RGB(255, 128, 0)
ActiveWorkbook.Colors(50) = RGB(96, 72, 24)
ActiveWorkbook.Colors(51) = RGB(200, 100, 20)
ActiveWorkbook.Colors(52) = RGB(100, 75, 25)
ActiveWorkbook.Colors(53) = RGB(45, 8, 140)
ActiveWorkbook.Colors(54) = RGB(104, 78, 26)
ActiveWorkbook.Colors(55) = RGB(30, 5, 100)
ActiveWorkbook.Colors(56) = RGB(108, 81, 27)

End Sub

(Nem terelem a szíves figyelmet további primitív, a választást megkönnyítő segédprogramok bemutatásával.)

Maga a program (az ötödik kép paramétereivel) a következő:

Sub Julia()
‘ Rögzítette: your humble narrator, 2013.11.12

a = InputBox(“valós rész:”, “k i i n d u l ó p o n t”, 0.325)
If a = “” Then Exit Sub
b = InputBox(“képzetes rész:”, “k i i n d u l ó p o n t”, 0.0431)
If b = “” Then Exit Sub

max_iter = 2000

For i = 1 To 1360
Application.ScreenUpdating = False

For l = 1 To 1360

x = 1.5 * (l / 680 – 1)
y = 1.5 * (1 – i / 680)
iter = 0
While (x * x + y * y < 4 And iter < max_iter)

x0 = x * x – y * y + a
y = 2 * x * y + b
x = x0
iter = iter + 1

Wend

Cells(i, l).Interior.ColorIndex = iter Mod 55 + 1

Next l

Application.ScreenUpdating = True

Next i

End Sub

Néhány eredmény:

Julia1Julia2Julia3Julia4Julia5

One response to “Júlia

  1. Visszajelzés: SUNYIVERZUM

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google kép

Hozzászólhat a Google felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s