FRACTAL REPORT 13





Further Fractals From Newton's Formula John C. Topham 2

Editorial John de Rivaz 9

Announcements 9

More Mandelbrot Sets Chris Sangwin 10

Compressing Fractal Images Mike Parker 12



Fractal Report is published by Reeves Telecommunications Laboratories Ltd.,

West Towan House, Porthtowan, Truro, Cornwall TR4 8AX, United Kingdom.

Volume 3 no 13 First published February 1991. ISSN applied for.



Editorial



It is probably seasonal considerations that makes the number of short articles with programs that readers seem to like somewhat scarce this issue. However this has given me the opportunity to publish Mr Parker's article in full, which I hope will benefit some readers and indeed may prove to be helpful to contributors interested in producing new fractal programs. I have been wanting to publish this article for some while, but was reluctant because for many readers, particularly beginners, it could prove hard going. We do have a few Fractal Report type articles still on file, held over to make space for the long articles this time, and anticipate that by the time the next issue appears we can revert to the usual format. There are not enough to make a full issue, and I hope that some more will be forthcoming by around 1 March when issue 14 goes to the printers.



Karen Griffin, my companion for some years, will be leaving sometime later this year. Her help with Fractal Report has been much appreciated, even if sometimes it was a bit adamant. We intend to remain friends, and she hopes to continue to offer help and advice with my publications whenever possible.



Announcements



Archimedes Correspondents wanted



Mr J. Mourik, of 3rd Millennium, Box 11, Ammanford, Dyfed, SA18 3WB wants Archimedes correspondents. He has 3.5" disks and is interested in cellular automata, fractal dust and sparklies, and wants help in getting hard copy from images saved to disk, and someone to swap programs with.



Reader's Hall of Fame



Mr Darryl Catchpole, of Scunthorpe, got a Mandelbrot Set program published in Amstrad Action's Type-Ins section, issue 63 pages 76/7. Unfortunately they edited out his bit about Fractal Report. My advice is that if you want to mention Fractal Report then include it in a REM statement in the middle of your program - the magazine is reluctant to edit it out then!



However if anyone writes to Mr Catchpole as a result of the article he will mention Fractal Report to them. He also asks me to mention to readers that if anyone wants a trainee programmer, then he makes good coffee!



Striations



Mr L.G.L. Unstead-Joss refers to Dr Wolf's article in issue 12, and mentions that variations in refractive index, e.g. in heated glass, are called "striations". He recalls learning this 50 years ago.



A Crack in Mandelbrot Space?



Mr D.I. Brett sent in some interesting prints from his Archimedes that appeared to show magnifications of "dull" areas way outside the main set, which when magnified enough, showed dots which expanded into new weird images. True to form, these images included miniature Mandelbrots. I sent them to Dr Ian Entwistle, who also has an Archimedes, but his initial reaction was that it was probably due to a precision error in the program.



Fractals: An Animated Discussion



This video has been mentioned before as being available from Germany for about DM100, but it is now available in the UK from W.H. Freeman and Co, 20, Beaumont Street, Oxford OX1 2NQ, for �40.20 including tax and post. It runs for 63 minutes and includes interviews with Edward Lorenz and Dr Benoit Mandelbrot together with animated sequences and fractal music. Thanks are again due to Dr Entwistle for this item.



Sam Coupé Subgroup?



Dr Derek Burn eulogised over Ettrick Thomson's article including a Sam Coupé program in issue 12. Dr Burn is a relative newcomer to programming, and finds it difficult to convert other BASICs to Sam BASIC.



He asks whether any Fractal Report reader has converted some of the programs given into Sam BASIC, and whether anyone has some hints on translating to Sam BASIC.



Obviously this would be of interest to Sam Coupé users only, so is there anyone out there interested in forming a sub group, with distribution of Sam programs or listings just to Sam Coupé owners?



Dr Burn also mentions that the Sam Coupé is flourishing, and the new company Sam Computers Ltd has also introduced a 1 megabyte memory expansion.



Amygdala Issue 21



The main article of this issue is Polar Coordinates and the Cardioid Body of M. It provides mathematical insight into the circular shape of the "head" of the Mandelbrot Set and the cardioid shape of the body. Other topics covered are Lissajous figures and trigonometric identities. All four of the slides were produced by Fractint 13.0. An advertisement flyer contains $30 rectangles many of which were filled with interesting offers, although some were somewhat expensive. One program originator wanted a whopping $20 to post the $79 disk and manual outside America. (Must be some manual!) [Address: Amygdala, Box 219, San Christobal, NM87564, USA.]



Chaotic Shops



Mr P.J. Mortimore kindly sent in a leaflet produced by Strange Attractions of 204, Kensington Park Road, London W11, whilst renewing his subscription. They provide a range of fractal artifacts from 35p to �120. There was an article about Mr Gregory Sams' store in The Evening Standard, undated. It concluded: It's weird, but its going to be big, very big. After all, Mr Sams has been responsible in the past for such word shaking concepts as the first macrobiotic restaurant, whole food shops, and the VegeBurger.



He also included an article from Microcomputer Mart 130 about Mr Jake Davis' operation Frachaos, which covers similar material. (Frachaos, Higher Trengrove, Constantine, Falmouth, Cornwall TR11 5QR now have a 27 page illustrated catalogue of programs, books, videos, tee shirts, music, prints and slides.)



Pograma: Paisaje.bas

Función: Generar paisajes fractales mediante latecnica de Desplazamiento de Medio Punto.

Autor: desconocido. Adaptado a Qbasic por José E. Murciano



DEFINT A-N: KEY OFF: SCREEN 9: pi = 3.141592: CLS

DIM d(130, 110)



zzz = TIMER: RANDOMIZE zzz

INPUT "Nivel de recursion ?"; le

CLS

ds = 2: FOR n = 1 TO le: ds = ds + 2 ^ (n - 1): NEXT n

mx = ds - 1: my = mx / 2: rh = pi * 30 / 180: vt = rh * 1.2

FOR n = 1 TO le: l = 10000 / 1.8 ^ n

LOCATE 2, 2: PRINT "Trabajando en el nivel "; n

ib = mx / 2 ^ n: sk = ib * 2

GOSUB 160: 'Altura a lo largo de x

GOSUB 230: 'Altura a lo largo de y

GOSUB 300: 'Altura en la diagonal

NEXT n

GOTO 650: 'Dibujo

'Altura en direccion x



160 FOR ye = 0 TO mx - 1 STEP sk

FOR xe = ib + ye TO mx STEP sk

ax = xe - ib: ay = ye: GOSUB 380: d1 = d: ax = xe + ib:

GOSUB 380: d2 = d

d = (d1 + d2) / 2 + RND(1) * l / 2 - l / 4: ax = xe:

ay= ye: GOSUB 430

NEXT xe

NEXT ye: RETURN

'Altura en el eje y

230 FOR xe = mx TO 1 STEP -sk

FOR ye = ib TO xe STEP sk

ax = xe: ay = ye + ib: GOSUB 380: d1 = d: ay = ye - ib:

GOSUB 380: d2 = d

d = (d1 + d2) / 2 + RND(1) * l / 2 - l / 4: ax = xe:

ay= ye: GOSUB 430

NEXT ye

NEXT xe: RETURN

'Altura en la diagonal

300 FOR xe = 0 TO mx - 1 STEP sk

FOR ye = ib TO mx - xe STEP sk

ax = xe + ye - ib: ay = ye - ib: GOSUB 380: d1 = d

ax = xe + ye + ib: ay = ye + ib: GOSUB 380: d2 = d

ax = xe + ye: ay = ye: d = (d1 + d2) / 2 + RND(1) * l /2 - l / 4: GOSUB 430

NEXT ye

NEXT xe: RETURN

'Obtencion de datos de la matriz

380 IF ay > my THEN 400

by = ay: bx = ax: GOTO 410

400 by = mx + 1 - ay: bx = mx - ax

410 d = d(bx, by): RETURN

'Escritura en la matriz

430 IF ay > my THEN 450

by = ay: bx = ax: GOTO 460

450 by = mx + 1 - ay: bx = mx - ax

460 d(bx, by) = d: RETURN

'Aqui se situa el nivel del mar

480 IF x0 <> -999 THEN 510

IF zz < 0 THEN GOSUB 1080: z2 = zz: zz = 0: GOTO 630

GOSUB 1100: GOTO 620

510 IF z2 > 0 AND zz > 0 THEN 620

IF z2 < 0 AND zz < 0 THEN z2 = zz: zz = 0: GOTO 630

w3 = zz / (zz - z2): x3 = (x2 - xx) * w3 + xx: y3 = (y2 - yy) * w3 + yy: z3 = 0

zt = zz: yt = yy: xt = xx

IF zz > 0 THEN 600

'Aqui va agua

zz = z3: yy = y3: xx = x3: GOSUB 960

GOSUB 1080: zz = 0: yy = yt: xx = xt: z2 = zt: GOTO 630

'Emerge del agua

600 zz = z3: yy = y3: xx = x3: GOSUB 960

GOSUB 1100: zz = zt: yy = yt: xx = xt

620 z2 = zz

630 x2 = xx: y2 = yy: RETURN

'Presentacion en pantalla



650 GOSUB 1120: 'Inicializa la pantalla

xs = .05: ys = .05: zs = .05: 'Factores de escala

FOR ax = 0 TO mx: x0 = -999: FOR ay = 0 TO ax

GOSUB 380: zz = d: yy = ay / mx * 10000: xx = ax / mx * 10000 -yy / 2

GOSUB 950: NEXT ay: NEXT ax

FOR ay = 0 TO mx: x0 = -999: FOR ax = ay TO mx

GOSUB 380: zz = d: yy = ay / mx * 10000: xx = ax / mx * 10000 - yy / 2

GOSUB 950: NEXT ax: NEXT ay

FOR ex = 0 TO mx: x0 = -999: FOR ey = 0 TO mx - ex

ax = ex + ey: ay = ey: GOSUB 380: zz = d: yy = ay / mx * 10000

xx = ax / mx * 10000 - yy / 2: GOSUB 950: NEXT ey: NEXT ex

GOTO 1140: 'Acaba y sale del bucle

'Rotar

780 IF xx <> 0 THEN 810

IF yy <= 0 THEN ra = -pi / 2: GOTO 830

ra = pi / 2: GOTO 830

810 ra = ATN(yy / xx)

IF xx < 0 THEN ra = ra + pi

830 r1 = ra + rh: rd = SQR(xx * xx + yy * yy)

xx = rd * COS(r1): yy = rd * SIN(r1)

RETURN



870 rd = SQR(zz * zz + xx * xx)

IF xx = 0 THEN ra = pi / 2: GOTO 910

ra = ATN(zz / xx)

IF xx < 0 THEN ra = ra + pi

910 r1 = ra - vt

xx = rd * COS(r1) + xx: zz = rd * SIN(r1)

RETURN

'Moverse a (xp,yp)



950 GOSUB 480

960 xx = xx * xs: yy = yy * ys: zz = zz * zs

GOSUB 780: 'Rotar

GOSUB 870

IF x0 = -999 THEN pr$ = "M" ELSE pr$ = "D"

xp = INT(yy) + cx: yp = INT(zz)

GOSUB 1040

RETURN

'Dibujar



1040 xp = xp * 1.1: yp = yp + 260: IF pr$ = "M" OR f1 = 1 THEN x8 = xp: y8 = yp

PSET (x8, 350 - y8), f1: LINE -(xp, 350 - yp), f1: x8 = xp: y8 = yp: x0 = xp

RETURN

'Color



1080 f1 = 9: RETURN

'Color de la tierra



1100 f1 = 6: RETURN

'Iinicializa pantalla o plotter



1120 CLS : RETURN

'Salida



1140 a$ = INKEY$: WHILE LEN(a$) = 0: a$ = INKEY$: WEND

STOP


This page hosted by Get your own Free Home Page
Hosted by www.Geocities.ws

1