ISSN 0964-5640

FRACTAL REPORT 42

And Innovative Computer Applications

Editorial Letters and Announcements 2

One Fill subroutine Marius -F. Danca 6

A Recipe for Intelligence John K. Clark 9

Chaos Demonstrations Ladye K. Wilkinson 11

New and Wonderful Fractal Formula! Gerry Mantha 13

Quantum Computers John K Clark 14

Sine-Cosine Curlicues and Feather Fractals Dr. Michael W. Ecker 15

A Composer's Thoughts on Fractal Music Chick Hebert 17

Magic Hexagon Jean Van Mourik 19

Logarithmic Spiral Jean Van Mourik 20

Appolonius Jean Van Mourik 20

A Gadget for Solving the Third Order Equation Marius-F. Danca 21

Van der Pohl System Marius-F. Danca 23

Mandelbrot Bull's Eye Malcolm Lichtenstein 29

Fuzzy SuperCalculus Malcolm Lichtenstein 29

Four Way Symmetries in Mandelbrot and BAM Malcolm Lichtenstein 30

Some QBASIC programs Roger Bagula 31



Fractal Report is published by Reeves Telecommunications Laboratories,

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

Internet: [email protected]

Volume 8 no 42 First published June 1996. ISSN 0964-5640.



Editorial and Announcements



Editorial



As usual we are struggling on as are many newsletters in this field. Once again many thanks to those who have contributed or given permission via the Internet for the re-use of their Internet articles. Needless to say more are required early in August for the September issue. This issue is usually the one that is read most avidly by people who like to experiment in the long autumn evenings, so lets have some though provoking experimental applications for computers rolling in!



I expect that many of you watched the Triumph of the Nerds series about computer manufacturers on the UK's Channel Four during April. I cannot help but wonder whether the limit to growth will not be physical constraints, but the limits of one human individual to understand an individual project. Committees are not the answer, they lack the flexibility and intuition that drive individual inventors and creators. Home computers were built by enthusiasts using parts made for something else, but as users of pre-IBM machines know, the earlier ones had some features that are lacking on modern machines, despite their superior speed and ease of use. The present IBM design relies on so many different individuals, that no one person can know everything there is to know about it.



Letters



from Mr Tim Wegner

(on being asked about fractal orbits)

(originally on the Internet)



Ah yes, I remember now. I even experimented with this once myself. As Wes said, the big problem is that no one could duplicate the results. Stephen Stoft (I think that is his name) never released the source code for his fractal witchcraft program. The Amygdala article did not have enough information.



The idea is to generate (say) four orbits at a time, and check whether the relative position of the four orbits has deformed. When it does, subdivide and keep going. Continue the subdivided orbits by interpolating the last positions of the four orbits. This saves a lot of computation. But it depends on a sensitive (but not too sensitive) test for the deformation of the "formation" of the flying orbits.



The problem is that nobody has ever duplicated Steve Stoft's work. He told me that he'd be willing to give his code to us (with credit of course) but he never did and I never followed up. His code is written in assembler, so incorporating it into Fractint would not be easy. Pieter Branderhorst (an early Fractint developer) played with this once, so Pieter, Wes, and I all looked at it at various times.



My impression is that the algorithm has to be carefully tuned, and is not general. It does work for very deep zooms. But I'm positive, having looked at it myself, that there is more to it than Stoft wrote in the Amygdala article.



This would be a good research topic for some bright student. The way to proceed would be to write a simple Mandelbrot program, and use the coordinates from one of Steve's examples. Generate the four orbits in parallel whose initial points form a rectangle, and try out different tests for deformation. I tried a very efficient test of perpendicularity of diagonals. I would allow the rectangular formation to deform into a parallelogram, but I demanded that it be a parallelogram and not degenerate into a non-parallel-sided rectangle. I only spent a few days on it, and made only a little progress. I moved on to other things.



I recall that the Amygdala editor proposed using three points rather than four. But I don't believe that he ever tested his ideas with an implementation.



Wes is a dedicated and busy high school teacher. If he pursued this it would be great, but between teaching and being a father of two small children, I doubt he'll have the time <g!> If anyone wants more information, let us know, not that we know too much more than I've said here.



Tim <[email protected]>



PS this was a sci.fractals posting written in a short time. Some of the points made might need elaboration to be completely understandable. If anyone wants to pursue it, they should locate Fractal Witchcraft (it's probably at spanky.triumf.ca) as well as Stoft's Amygdala article. I'd be willing to describe more carefully the work I already did. They should check with Wes Loewer also. - Tim



From Jay Hill/NRaD/ACMS <Jay_Hill/NRaD/[email protected]>



I wrote on the Internet:



It has been suggested that problems that government try to solve are similarly insoluble, and indeed government as a system doesn't work because of over-complexity.



Jay Hill replied:



In product development, the review process acts as a negative feedback mechanism. It can be compared to the Mandelbrot Set formula or the logistic formula. When the heat is turned up on a project (get done sooner, cheaper, or error free) it is like changing the constant in these formulae. At some point the development becomes chaotic or even unstable. That is, we desire an even amount of effort to keep quality level from one release to the next. At high demand levels, the effort needed to meet the quality or delivery time becomes unpredictable. I have seen examples where for every engineer, there are five "others" monitoring, directing, supporting, planning, documenting, selling, etc. Maybe that should be ten others. As the project slips deep into chaos, more engineers and "others" are put on the project. This demand factor maps somehow onto the gain factor in Mandelbrot's formula.



I gave some thought to this a few years ago in considering rapidly growing corporations. It looks like chaos enters some when they try to grow faster than about 20% per year.



It is the old truism, faster, cheaper, better: choose two.



Jay "Chaotic Development, Inc" Hill



Announcements



Malcolm Lichtenstein's article on computer poetry (p16 last issue) omitted a line that said it was adapted for the Amiga from a program by Dr Clifford Pickover in Computers and the Imagination page 318. Apologies all round.



News of Contemporaries



REC 73, February-March 1996, contained the usual mathematical puzzles and curiosities. In addition, there was an item on the shortcoming of DOS with large hard disks and a recommendation to use PowerQuest's Partition Magic 2.0 to solve the problem by partitioning the HD into smaller virtual drives. However this is not a solution to the problem that a partitioned disk causes other drives (such as the CDROM or ramdrives) to change letter and hence require software updates.



An article discussed another implementation of Mozart's waltz composing by dice algorithm into a PC application. It is available on REC-on-Disk in both compiled form and the original QuickBASIC. Could it be claimed to be the only computer program written by someone who died before computers were invented, I wonder?



There was also a BASIC text encryption listing and one of Malcolm Lichtenstein's fuzzy logic Mandelbrot variations.



Fractalia 15 is also waiting for review: This is the Romanian language fractal magazine, but it is now printing articles in English as well. Roger Bagula appeared in English with his Berkowitz Set, with what appears to be a Romanian summary afterwards. Malcolm Lichtenstein also had an article published here, although it appeared to have been retyped. I can only hope that there was no error - one dot or comma wrong and the program will not run, or if it runs it would produce something totally different to what was intended. Further articles from Fractalia's editor Marius-F. Danca appear in this issue.



No 16 carried an editorial written in English which stated that in order to survive the magazine had to achieve an international market.



This issue contained articles from Scotland and Germany written in English, on the Logistic Map and a novel version of the Mandelbrot Set, as well as offerings from Lichtenstein and Bagula. Gary W. Adamson continued his articles on the growth rate of black holes. One of the articles in Romanian was on fractal landscapes. The pictures that accompanied the article suggested some sort of fly-over feature in the software written in C. However I would imagine, from the length of the code provided, that this is something to come or something available on a disk or whatever.



Roger Bagula's The Fractal Translight Newsletter continues in its now usual form of stapled sheets, some in colour. His editorial bemoans the fact that all BASICS do not provide access to the full screen resolutions available on modern machines, whether PCs, Amiga or Macs. A friend told him to learn C, but he pointed out that it could take ages to write programs that he can write in 15 minutes in BASIC. He also commented that some BASICS don't even address the sound card. [Gabriel Landini found a way to do it, see earlier editions of Fractal Report]. He appears to have missed graphics to disc on Fractint which may partially solve the problem. However I do see the need for a new version of BASIC that does address modern video drivers. The articles included a discussion of curlicues, mentioning Fractal Report and John Sharp.







Pickover, C. (1996)

Black Holes - A Traveller's Guide

John Wiley and Sons: New York.

ISBN: 0-471-12580-6



The book has lots of beautiful computer graphics and an appendix with computer recipes in C and BASIC so you can become your own Black Hole explorer.



Some Endorsements:



"Dr. Pickover, with his usual enthusiasm, wit, and knowledge, accompanied by his familiar superb computer graphics, has turned his attention toward black holes and their bizarre properties. Many books have been written about black holes, but none that surpass this one in arousing emotions of awe and wonder toward the mysterious structure of our universe." - Martin Gardner



"As one of the thousands who contracted incurable fractaphilia by exposure to the Mandelbrot set, I've much enjoyed Cliff Pickover's earlier books on this infectious disease. Now he has ventured into an even more dangerous territory -- the exploration of Black Holes. All would-be tourists are strongly advised to read his traveller's guide before they set out. However, like Cliff's earlier books, this should carry the warning: "Reading may be dangerous to your wealth." It may create an overwhelming impulse to buy a more powerful computer." - Arthur C. Clarke



"For years writers, artists, and scientists have complained about the division between the sciences and the arts. Some have tried to build bridges across the line, but Clifford Pickover is one of the very few who successfully erases the line itself. In Black Holes: A Traveller's Guide, Pickover provides a wonderfully illustrated explanation of some of the strangest objects in the universe. While aimed at the beginning black hole explorer, there are marvellous discoveries waiting here for both the novice and the expert." - Marc Hairston, Hanson Center for Space Sciences



"A fascinating computer-assisted 'science faction' [sic] tour of the physics and mathematics of black holes, presented in Clifford Pickover's inimitable offbeat and always readable style. Isaac Asimov, in devil's advocate mode, once asked whether these 'invisible nothings' are worthy of serious consideration. They are!"

- Ian Stewart, Author of Does God Play Dice?



"Solid science illuminated by vivid images and amusing dialogues, Cliff Pickover's latest computer-aided adventure takes readers on an entertaining, edifying trek to the brink of a black hole." - Ivars Peterson, Math/Physics Editor, Science News Author of Newton's Clock: Chaos in the Solar System



"Pickover conveys the weirdness of black holes better than anyone else who's tried." - Michael Swaine, Editor, Dr. Jobb's Journal, April, 1996



Here is the book's TABLE OF CONTENTS

Preface

Chapter 1. How to Calculate a Black Hole's Mass

Chapter 2. The Black Hole's Event Horizon Circumference

Chapter 3. Black Hole Tidal Forces

Chapter 4. A Black Hole's Gravitational Lens

Chapter 5. A Black Hole's Gravitational Blueshift

Chapter 6. Gravitational Time Dilation

Chapter 7. Anatomical Dissection of Black Holes

Chapter 8. Embedding Diagrams for Warped Spacetime

Chapter 9. Gravitational Wave Recoil

Chapter 10. Optical Appearance of a Collapsing Star

Chapter 11. Gravitational Distension Near a Black Hole's Heart

Chapter 12. Quantum Foam

Chapter 13. Black Hole Recreations

Chapter 14. Mathematical Black Holes

Chapter 15. Black Holes Evaporate

Chapter 16. Wormholes, Cosmological Doughnuts, and Parallel Universes

Postscript 1. Could We be Living in a Black Hole?

Postscript 2. The Grand Internet Black Hole Survey

Author's Musings

Smorgasbord for Computer Junkies

Notes

Further Reading





From Chick Herbert



I was going to wait before telling you this, but you've opened a new door for me into the mathematics of fractals. I checked out your home page and went to the Fractal Reports page, where I found the simple Basic program listing. [A Martin's Mapping -ed] After copying and pasting it into QB3, I was amazed that this simple recursion could produce such a beautiful pattern, (appropriately I received a "net" over the Net) although I knew it to be true in principle for years (e.g., Fractint shareware).



Then I played with the program, adding colour, and input lines for the exponent and such. It swept me away, in a manner more suited to an artist than an engineer - but that's me!



Now I have different views of how to incorporate fractals into music generation. Lots of research to do and experiments to perform...........



[See article A Composer's Thoughts on Fractal Music later in this issue. -ed]



From: Mr Michael Peters <[email protected]>

Subject: new web site for HOP !!



We're proud to announce a brand new web site for HOP - Fractals in Motion: HOP will have a permanent and lively home on the Web now - you will always find the latest program versions, information, and parameter files. The web site also contains a gallery featuring images created with the current 1.2 version of HOP, as well as a preview of the 2.0 version which is in the works, and images from the experimental Gumowski/Mira attractor program Plankton Explorer.

The next time you surf the web in search of new visions, be sure to drop by:

http://ourworld.compuserve.com/homepages/mpeters/hop.htm



-----

Michael Peters [email protected]

Randall Scott [email protected]



Visualising Biological Information

edited by Clifford Pickover, ISBN 981-02-1427-8 World Scientific �54 hardback.



This book was sent to us for review. In view of the highly specialist nature of its contents I have asked an expert to review it properly, hopefully in the next issue. In the meantime I can say that it is less of an experimenter's manual that Dr Pickover's previous works, although there are some interesting ideas in it.



I deliberately flicked through it without comprehension when first receiving it, so see whether such an activity in a bookshop may lead to a purchase. There were plenty of images, but none that were both enthralling and possible to produce in an afternoon on one's own machine. Therefore I must say that if I had been in a bookshop I would have moved on to the next volume.



There was a chapter of generating music from DNA sequences, but this stopped far short of an implementation. A program was described (but not listed or given as an algorithm) that drew DNA from spacial coordinates. The results pictured were sufficiently interesting to inspire reading the article. However that indicated dedication is need to replicate them.



I do feel that we have not heard the last from the idea of producing images and sounds from DNA, so if you think are clever enough to make your name in the area, then buy this book as a starting point.

One Fill subroutine



Marius -F. Danca



P. O. BOX Cluj-9 ROMANIA [email protected]



Within the framework of a graphical interactive application, there can be defined by the user portions of screen bounded by adjacent pixels having a certain colour attribute, distinct by the inner pixels that have another colour attribute. The pixels that bound these zones draw up are called frontier. The frontier can be defined either as a polygon for which are stored the corner's coordinates, or through direct access to the coordinates of the adjacent pixels that form the frontier. In the last case we have the so-called "compact zone" or "fill-area". In the present paper we will deal with filling of one such zone. Although the majority of the graphics' programs - both for PC's and for 8-bit computers - are endowed with such graphical primitives for filling a contour, we considered interesting the presentation of such method as being a good exercise of logic.



I studied the problem some years ago when I needed such a subroutine. I found an algorithm that follow very strong through the possibility of filling any contour connected or not1



Unfortunately, the algorithm did not functioned from the beginning. The algorithm analysed below manages reasonably in many situations. The hardest test was the one with filling the screen with text. Finally, there turns out a form much different from that I saw in [1]. In order to fill the interior of such a zone it is necessary to know the pixel's attributes both for the inner ones and for the ones on the frontier.



It is obvious that a filling algorithm that respects itself has to manage also if in the interior of such a zone there are another zones. Also, it does not have to count if the portion is connected or not. We will consider the particular case of the colour attributes "off" and "on" (the "colour" attribute in the code).



The algorithm consists on filling - with the help of the procedures LEFT and RIGHT - the pixels between two consecutive "on" pixels. The starting points are determined by the procedures UP and DOWN and are stored in a FILO stack (First In Last Out). The stop is done when the stack empties (the counter k=0). The procedures LEFT and RIGHT are used also for the determination of x_left and x_right, key elements for the procedures UP and DOWN; maxx and maxy represent the maximum values for the screen (i.e. "getmaxx", and "getmaxy" function in Turbo Pascal).



The procedures UP and DOWN, as we already said, determine the starting points (numbering in the adjoining figures ), necessary for the procedures LEFT and RIGHT. This is how it's achieved: if (x,y) is "off" then from x_left+1 to x_right, we search the "on" points (x,y) then we store it and increment the stack counter. If (x,y) is "on" then we move to left until x=0 or (x,y) is "on".



A complete step is proceeded after the successive calling of the four procedures, previously being removed from the stack a new starting point (the k-th).



It is obvious that at these extracting and storing operations in the stack can exist cases when are not found points for storing; in these situations the stack's dimension decreasing; as can exist cases when are stored more points, situation when the stack's dimensions increase. Referring to this aspect has to be mentioned that exist the risk of overflow in the case of extreme complicated figures. Some observations: as we can see form the figures, it can happen that the same starting point is stored more than once for different values of k. In this situation there are two solutions: either the avoidance of repeated storing of the points, but damaging the execution speed owed to the tests, or the acceptance of this situation, in the detriment of an increasing - insignificant however - of the stack, such points being only a few (points as for example 45 from the figure). We choose the second solution.



The sense of the procedure LEFT is only for the algorithm's start; in the rest of cases being used only the procedure RIGHT, as all starting points are in the left side of the points x_left, that are "fixed" pixels.



The subroutine can be used also if one matrix is stored with the texture model and a logical AND is performed between his matrix and the pixel on the screen. Thus, if the pixel is affiliated to the region that has to be textured, it is performed a test if at its address (which is calculated) in the matrix there is or there it is not 1 or 0. In the first case is settled the pixel on the screen.



I choose the Turbo Pascal language because of its performance, but the code can be easy translated in BASIC for instance.



References



[1] Michel Lucas et coll. La realisation des logiciels graphiques interacifs, Travaux diriges de l'Ecole d'ete d'informatique tenue au Breau-sans-Nappe, Juillet 1979.

[2] M. F. Danca, Subrutina de colorare, Tehnium nr. 12/1989.



program fill;

{Marius-F. DANCA/1990}

{(x1,y1) start point}



uses crt,graph;

var x1,y1,a,b,x_saved,x_right,x_left,x,y,k,gd,gm:integer;

xx,yy:array[1..1000] of integer;

const color=15;

procedure pile(a,b:integer);

begin

k:=k+1;

xx[k]:=a;

yy[k]:=b;

end;



procedure right;

begin

x_saved:=x;

while (getpixel(x,y)<>color) and (x<=getmaxx) do

begin

putpixel(x,y,color);

x:=x+1

end;

x_right:=x-1;

x:=x_saved-1;

end;



procedure left;

begin

while (getpixel(x,y)<>color) and (x>0) do

begin

putpixel(x,y,color);

x:=x-1

end;

x_left:=x;

end;



procedure up;

begin

if y=0 then

begin

y:=-1;

exit;

end

else

begin

y:=y-1;

x:=x_left+1;

while (getpixel(x,y)<>color) and (x>0) do x:=x-1;

if getpixel(x,y)<>color then

begin

pile(x,y);

x:=x+1;

end;

while (x<x_right) do

begin

if (getpixel(x,y)=color) and (getpixel(x+1,y)<>color)

then pile(x+1,y);

x:=x+1;

end;

end;

end;



procedure down;

begin

if y=getmaxy-1 then exit

else

begin

y:=y+2;

x:=x_left+1;

while (getpixel(x,y)<>color) and (x>0) do x:=x-1;

if getpixel(x,y)<>color then

begin

pile(x,y);

x:=x+1;

end;

while (x<x_right) do

begin

if (getpixel(x,y)=color) and (getpixel(x+1,y)<>color)

then pile(x+1,y);

x:=x+1;

end;

end;

y:=y-1;

end;



begin

read(x1,y1);

gd:=detect;

initgraph(gd,gm,'\bp\bgi');

k:=1;

xx[1]:=x1;yy[1]:=y1;

while k<>0 do

begin

x:=xx[k];

y:=yy[k];

k:=k-1;

if getpixel(x,y)<>color then

begin

right;

left;

up;

down;

end;

end;

end.





A Recipe for Intelligence



by John K. Clark <[email protected]>



I was only made aware of Drexler's thoughts on this subject second hand, through Carl Feynman, you're receiving it third hand from me, so if I say anything stupid in this article it is my fault, not Drexler's.



The idea that the Singularity could come in less that 20 years makes me weak in the knees, just like everybody else, and I'm not sure I really believe it could come that soon, but Drexler didn't just pull this amazingly short timeline out of a hat, it's based on calculations he made, even if they are informal and unpublished.



Seeing no reason current trends could not be extrapolated and using his considerable knowledge of the field, he expects to see the first assembler able to reproduce itself sometime in the first 2 decades of the next century. A full nanotechcomputer could be made almost immediately after that, because the design work will already be finished by then, as some people are working on that already. He figures that once we have nano computers it will only take a couple of years to develop superhuman artificial intelligence. At this point we have a mind (or minds) far more intelligent than you or me, and one that operates a billion times faster to boot. A few hours of that and the universe will never be the same again.



I can already hear the howls of protest. Even if you have the hardware, programming a nano computer to do anything useful would be a monumental task, and developing AI, superhuman or otherwise would be an astronomically difficult process. I think Drexler would agree with his critics that it will take many years to develop AI, many millions of years actually.



Drexler suggests we develop AI in the same way that nature developed intelligence, by brute force. Nature didn't need any experts with a deep understanding of intelligence or consciousness, intelligence just evolved, using only mutation and natural selection. We can do the same.



A recipe for intelligence: Build a simulated world in your computer and fill it with very simple creatures (programs). Make sure they must solve problems in order to get "food". The creatures that are better at solving problems leave more descendants. Now you do nothing, just step back and let it evolve. After evolving for a few hundred million SIMULATED years you have intelligence, high order intelligence.



How long would it take in real years? He calculated the amount of computer power needed to simulate ALL the brains that have ever existed before humanity, that is, all the brains since brains were invented in the Cambrian Explosion 570 million years ago. He concluded that 10^38 machine instructions would do the trick. A Nanotechnology computer the size of a large present day factory and using no more power, could perform 10^38

machine instructions in about 2 years.



Bottom line, you start with a nano computer but no software to run on it except a few simple minded programs, smaller than many you are using now on your home PC. 2 years later you've got an AI running on the computer, an AI at least as intelligent as a human and much, much faster.



As breathtaking as these changes are, it's really just engineering, Drexler invokes no new laws of physics and assumes no scientific breakthroughs. If there is one things would become even wilder. For example, if all the recent speculation about Quantum computers ever pans out and a practical machine is possible, it would make even Drexler look like an old fuddy duddy.



Somebody mentioned that safety concerns might slow things down, I doubt that it would, but perhaps it should. We are about to enter a period of gargantuan change happening in an astonishingly short amount of time, and that is an inherently dangerous situation, it would be foolish to deny it. The biggest danger is probably something that we haven't imagined yet, probably something we are incapable of imagining. In my darker moments I wonder if that could be an explanation of the Fermi paradox, the fact that we don't see any ET's and the fact that the universe has not yet been engineered.



In spite of the dangers I admit I'm happy about the coming changes, we might survive it, and the alternative after all, is certain death for all of us. If nothing else things won't be dull. The truth however is, it doesn't matter a hill of beans if you or I think it's a good idea or not, somebody, somewhere, will do it, and do it as soon as he thinks he can. The best we can do is prepare ourselves as well as we can.



Speaking of preparation, I don't want to be accused of promoting complacency as far as Cryonics is concerned. Even a man as brilliant as Drexler could be wrong, especially about something like a timeline, as it involves more than science and engineering, but economics and politics as well. It's safest if people plan for the worse and hope for the best. This is even more important for the leaders of the Cryonics companies. They should operate under the assumption that if it will take 1000 years for Nanotechnology to develop. If events in the next 20 years prove that they are wrong about that, I am certain nobody will be very upset with them.



Chaos Demonstrations Ladye K. Williams





Chaos Demonstrations Ladye K. Williams



New and Wonderful Fractal Formula!



by Gerry Mantha <[email protected]>



Here's a really good zoomer - a formula based on a variation of the Mandelbrot theme without any semblance to a Mandelbrot. Nice curls, swirls, galaxies, and just plain old chaos. Lots of variety in this one.





DIRECTIONS:



Save the formula between the "-------?s" in a Dos text file with a .FRM extension. Then use FRACTINT to view (choose formula, press F6 and select the file you saved. FRACTINT can be downloaded from location: <http://spanky.triumf.ca/www/fractint/fractint.html>





---------------------------------------------

Stupid(XAXIS){

z=c=pixel:

z=z*z/cosh(c) + c + .32/z*(z+z),

|z| < 5

}

---------------------------------------------



HISTORY:



I named this one "Stupid" because I consider this a really stupid Formula. We were all a little tipsy when I came up with this one (Fractal Party!!). When we saw the first screen, someone said, "that's stupid" and the name stuck. It initially looked so boring that I never even zoomed on it until months later. And gee? was I surprised!





HINTS:



1. Select a decent video mode with 256 colours.

2. Set the Log Palette to 1 in the Basic Options Screen.

3. Ensure Floating Point Algorithm is set to Yes.

4. Maximum Iterations should be set to over 10000.

5. After generating first image, select the CHROMA colour Scheme

6. Zoom close to the "Lake" on interesting regions.

7. Favour the more chaotic regions for zooming.

8. Avoid repetitious regions of self-similarity.

9. Try deep-zooming - takes time but it's worth it.



If you require assistance, or would like to send me comments,

or share your own formulas, email me at [email protected]



Have Fun ... Gerry Mantha



Quantum Computers



by John K Clark <[email protected]>

In the April 12 1996 issue of Science there is an article on Quantum Computers. It makes clear that a practical Quantum Computer has not been proven to be possible, nevertheless the article had a very optimistic tone, an optimism I did not see just one year ago. If such a machine could be built the ramifications are mind boggling.



When a conventional 64 bit single processor computer performs an operation, it does it on ONE 64 bit number at a time. When a 64 bit (actually a 64 qubit) single processor QUANTUM computer performs an operation it does it on ALL 64 bit numbers at the same time, all 2^64 of them, more than a billion billion, and any increase in the number of qubits the computer can handle will increase it's already astronomical power exponentially.



It gets even wilder, because the quantum mechanical state of the matter in the machine's memory determines the output, Seth Lloyd of MIT thinks you could run the machine in reverse and the result would be a quantum mechanical micromanipulator.



Despite this enormous increase in performance and a possible short cut to Nanotechnology, most weren't very interested because it didn't seem like a Quantum Computer could ever be built. The slightest error or interaction with the outside environment would render the machine inoperative, conventional error correcting codes don't work for in the quantum domain and most said that correcting codes for quantum mechanical information was impossible.



They were wrong.



Late last year Peter Shor of ATT showed how to encode a piece of quantum information in a 9 qubit system so that the information is retained even if there is an error in one of the 9 qubits. A few months later researchers at IBM refined Shor's technique so that only 5 qubits was needed, and found ways to correct for multiple errors.



We still don't know for sure if a Quantum Computer is possible because these error correcting codes work for storing and transmitting quantum information not for the actual calculation, but most now think the problem is solvable. In fact both Shor and Lloyd have privately circulated ideas on how to do this but have not yet published. If this problem could be solved then we just need someone to put all the pieces together and make a machine.



I find all this very exciting, it must have been like this in the late 1930's when reports trickled in about nuclear fission and the idea occurred to people that a bizarre device like a nuclear bomb might actually be able to exist in the real world.

Sine-Cosine Curlicues and

Feather Fractals



by Dr. Michael W. Ecker (Ph.D.)



A rare few of you may have noticed my new ad featuring a curlicue design. This short article will show you how to create such art in BASIC on a PC (or even a Mac, Sanyo, or other machine with some dialect of BASIC). You don't have to type in more than a few lines, and you don't even have to know any math!



Fire up BASIC for your computer in the usual fashion, such as typing BASIC. This, of course, presumes that you have BASIC on the disk and directory from which you are operating.



Then enter the following program for a PC with VGA-level graphics and QuickBASIC or QBASIC:



1 SCREEN 12

10 PRINT "Curlicues - Dr. M. Ecker, Editor of REC"

20 D = 1.3

30 FOR I = 1 TO 125000

40 X = X + SIN(D * I ^ D): Y = Y + COS(D * I ^ D)

50 PSET (X + 320, Y + 240), VAL(RIGHT$(STR$(I / D), 1)) + 5 60 NEXT I



Save the program in the usual fashion, notably typing SAVE "CURLY",A There are lots of little changes you can make to create other effects. They show up better and faster on more modern computers such as my Pentium. Here are a few minor modifications: For EGA, change Screen 12 to Screen 0. You can safely omit line numbers in most BASICs. Decrease the upper limit on the FOR loop from 125,000 if your machine is too slow. In line 50 or its equivalent, add different constants to X and Y if centering is off.



To remove colour, modify the PSET command in line 50 (PSET is the command that places the dots down), such as removing VAL(RIGHT$(STR$(I / D), 1)) + 5 after PSET (X, Y).



This adds colour in a somewhat chaotic manner. Since it has been several years, I forget why I picked that particular routine. But, one can find a more structured appearance in such routines as one that essentially colours in vertical stripes based on screen location.



Here is a PC program for EGA I published in my Recreational & Educational Computing (REC) quite a few years ago, as modified slightly by one of my readers. It draws beautiful feathers, but with vertical stripes of colour:



10 CLS : SCREEN 9

20 A = -.5: B = .9: C = 2 - 2 * A: P = 9200000!: X = 3: Y = .2

30 W = A * X + C * X * X / (1 + X * X)

40 FOR N = 0 TO P

50 PSET (20 * X + 300, 20 * Y + 190), U + 1: REM Scale as needed

60 Z = X: X = B * Y + W: U = X * X: W = A * X + C * U / (1 + U): Y = W - Z

65 IF INKEY$ <> "" THEN END

70 NEXT N



You can experiment plenty by varying the parameters and observing the changes.



Finally, if you have a screen-capture program (such as Inner Media's Collage Complete or perhaps one of the more well-known titles such as Hijaack), then you can save the resulting graphic and insert it in documents. (I am teasing you by not showing you the stunning feather fractal that you get from this program. You simply must try it for yourself!)



It is truly amazing that seemingly gobbledygook mathematics can produce such beauty!





Dr. Michael W. Ecker holds a Ph.D. in mathematics from the City University of New York (1978) and is a math professor at the Pennsylvania State University's Wilkes-Barre Campus. With over 400 publications mostly in computer magazines in the 1980s, Mike is also editor and publisher of his own Recreational & Educational Computing since Jan. 1986. Contact Dr. Ecker at 909 Violet Terrace/ Clarks Summit, PA 18411 or via e-mail (mwe1@psu. edu or [email protected]).













REC is the only publication devoted to the playful interaction of computers and "mathemagic" - from digital delights to strange attractors, from special number classes to computer graphics and fractals. edited and published by computer columnist and maths professor Dr Michael W. Ecker, REC features programs, challenges, puzzles, program teasers, art, editorial, humour, and much more, all laser-printed. REC supports many computer brands as it has done since its inception Jan 1986. Back issues are available.



To subscribe for one year of 8 issues, send $27 (US only; $28 to Canada, $36 foreign) to REC, Att: Dr M. Ecker, 909 Violet Terrace, Clarks Summit, PA 18411, USA - - or send $10 ($13 foreign) for three sample issues, fully creditable toward subscription. US funds on US bank, please.



A Composer's Thoughts

on Fractal Music



by Chick Hebert <[email protected]>





I've done some reading. Done some generalizations. Looked at some pictures. Anybody can do that. They all point to some possible applications to music. One could approach this from the point of view of a mathematical purist and let a computer do the composing, in which case it's a "composer's choice" (programmer's option) format (e.g., sonata, arch, rondo, etc.) but the particular notes are determined by a - gust of wind - free improvisation on a motif, confined by certain pitch values; and temporal pattern, a varying and overlaid rhythmic structure(like some of the serialists, e.g., late Schoenberg), or a series of values generated by a recursive algorithm. As a composer, I like to have control over these note elements, still adhering to the basic limitations of the "instrument sounds" and the compositional format. Nevertheless, anyone who has written music knows that these, and all other rules, are constantly broken in good music.



For three months, I've been studying the sounds of low-flowing brooks, rivulets and fallets, simple stream sounds. There seems to be music in these sounds, and the challenge presents itself to extract and refine this innate music. (e.g., music is water...pd) To me, these sounds are fractal. I took a portable Sony DAT with a $350 stereo mike and recorded some of these sounds in the nearby mountain canyons. The sounds are of extremely high quality, and some excerpted samples were put onto my HD and reworked with Wave Studio, and then placed in custom sound banks created under the Vienna SoundFont Studio from Creative Labs. From that point the sounds can be used as notes of and instrument. Talk about fun! Then add instruments from the GM Standard set, and it really gets interesting. These musical sounds, however, are not easily sent over the Internet in it's current state (slow rate) because they're not standard GS midi sounds, so if you wanted to hear a little of this stuff, it would have to be in .WAV format, 22.4K/s, stereo. The files would by large. Contact me if you are interested.



Getting back to fractals, it seems like anything is fair game in its application to music. Just so long as something gets fractured! You can probably think of examples from classical music which show this exploding, spraying, repetitively dividing nature - almost anything written by Tchaikovsky contains these elements. An analysis could show that

(1) a simple sequence of notes (motif-size or smaller), if repeated in an increasing tempo, would seem to be fractal.

(2) a scale, or quantization of pitches, could divide as time passed, according to a prescribed algorithm, resulting in increased harmonic complexity.

(3) the "fundamental" pitch and starting moment of a motif could vary with time in a fractal manner.

(4) fractal elements of music may be overlain in manner consistent with natural order.



This evening, I went to a little nearby creek and listened to a familiar but strange sound. Water was flowing over a smooth golf ball-sized rock, between two larger rocks, and fanning out as it plummeted three inches down, landing in a pool about a yard wide. The stream is flowing mostly below the surface of the creek bed so the fallet is the only sound in the area. The plume of water, such as you would see if you let a faucet deflect off your thumbnail, enclosed a hollow cavity, between the pool surface, rocks and sheet of water. The resonance of this enclosure varied with time as the flow changed, so the resulting pitch also changed, covering exactly one octave. That part of the sound played like a melody. Beneath it, were little plunks, ever-present in flowing water, whose pitches and temporal format changed as I listened, but also suggested a repeating pattern. This demonstrates two fundamental principals of music: that it is repeating, yet always changing. But this also sounds like a principal of fractals, doesn't it? I hope I don't sound like a raving, hand-waving particle physicist describing some string theory. Examples of this kind of sound are everywhere, but largely drowned out by the sounds of car, plane and train engines. Ocean and wind sounds have been used in orchestral music for decades (e.g., Ravel, Respighi, Vaugh Williams). Stream sound compositions are sure to be popular, because almost everyone likes those sounds. Caution!: There's a fine line between a delicious and melodic stream sound, and a toilet flushing or a washing machine sound. It can relax you or make you feel like peeing!



Also, I want to introduce my home page, still under construction, which will soon offer midi format files of some of my music. Get counted at

http://www.psych.edu/~hebert/

Please email me if you have additional or different ideas on this interesting topic of fractal music.



Chick 5 March 1996

Some QBASIC programs



by Roger Bagula



I claim the copy rights on all of these programs and pictures, but want people to use them in their own work and note that I was the source.



PRINT " INPUT partition: try 640 for slow 64 for fast:"

INPUT M

PRINT "input general power:Z'=Z^S+fn(C):s"

INPUT s



SCREEN 12

e = SQR(151): e1 = e

M1 = M * 480 / 640

pi = 4 * ATN(1)

FOR i = -e1 TO e1 STEP 2 * e1 / M1

d = d + 1

FOR j = -e1 TO e1 STEP 2 * e1 / (M + .5)

c = c + 1

a = j: b = i: k = 0: d1 = SQR(a * a + b * b):

r = d1

IF a = 0 AND b > 0 THEN w0 = pi / 2

IF a = 0 AND b < 0 THEN w0 = -pi / 2

IF a > 0 AND b > 0 THEN w0 = ATN(b / a)

IF a > 0 AND b < 0 THEN w0 = ATN(b / a)

IF a < 0 AND b > 0 THEN w0 = ATN(b / a) + pi

IF a < 0 AND b < 0 THEN w0 = ATN(b / a) - pi

IF a >= 0 AND b = 0 THEN w0 = pi / 2

IF a < 0 AND b = 0 THEN w0 = -pi / 2

t1 = TAN(w0) / (TAN(LOG(d1)) - TAN(w0))

t2 = 1 / (TAN(LOG(d1)) - TAN(w0))

d2 = t1 * t1 + t2 * t2

DO

IF k = 0 THEN f = t1: g = t2: r = d2

k = k + 1

x = f: y = g: l = r

IF x = 0 AND y > 0 THEN w = pi / 2

IF x = 0 AND y < 0 THEN w = -pi / 2

IF x > 0 AND y > 0 THEN w = ATN(y / x)

IF x > 0 AND y < 0 THEN w = ATN(y / x)

IF x < 0 AND y > 0 THEN w = ATN(y / x) + pi

IF x < 0 AND y < 0 THEN w = ATN(y / x) - pi

IF x >= 0 AND y = 0 THEN w = pi / 2

IF x < 0 AND y = 0 THEN w = -pi / 2

f = r ^ s * COS(s * w) + t1

g = r ^ s * SIN(s * w) + t2

r = SQR(f * f + g * g)

LOOP UNTIL ABS(l - r) < 10 ^ -3 OR k > INT(e * e) OR r >= e

LINE (c * 640 / M, d * 480 / M1)-((c + 1) * 640 / M, (d + 1) * 480 / M1), k MOD 8, BF

IF c > M THEN c = 0

NEXT j

NEXT i

5 REM beep delay loop

BEEP

FOR j = 1 TO 100: NEXT j

IF INKEY$ = "" THEN GOTO 5



END



PRINT " INPUT partition: try 640 for slow 64 for fast:"

INPUT M

PRINT "input general power:Z'=Z^S+C"

INPUT s

SCREEN 12

e = SQR(151): e1 = e / 7

M1 = M * 480 / 640

pi = 4 * ATN(1)

FOR i = -e1 TO e1 STEP 2 * e1 / M1

d = d + 1

FOR j = -e1 TO e1 STEP 2 * e1 / (M + .5)

c = c + 1

a = j: b = i: k = 0: d1 = SQR(a * a + b * b): r

= d1

DO

IF k = 0 THEN f = a: g = b: r = d1

k = k + 1

x = f: y = g: l = r

IF x = 0 AND y > 0 THEN w = pi / 2

IF x = 0 AND y < 0 THEN w = -pi / 2

IF x > 0 AND y > 0 THEN w = ATN(y / x)

IF x > 0 AND y < 0 THEN w = ATN(y / x)

IF x < 0 AND y > 0 THEN w = ATN(y / x) + pi

IF x < 0 AND y < 0 THEN w = ATN(y / x) - pi

IF x >= 0 AND y = 0 THEN w = pi / 2

IF x < 0 AND y = 0 THEN w = -pi / 2

f = -x + r ^ (-s) * COS(-s * w) - r ^ (-1) * COS(-w) + r ^ s * COS(s * w) + a

g = -y + r ^ (-s) * SIN(-s * w) - r ^ (-1) * SIN(-w) + r ^ s * SIN(s * w) + b

r = SQR(f * f + g * g)

LOOP UNTIL ABS(l - r) < 10 ^ -3 OR k > INT(e *

e) OR r >= e

IF ABS(r - l) <= 1 THEN t = 1 ELSE t = -1

kk = INT(e * e - t * k)

LINE (c * 640 / M, d * 480 / M1)-((c + 1) * 640 / M, (d + 1) * 480 / M1), kk MOD 16, BF

IF c > M THEN c = 0

NEXT j

NEXT i

5 REM beep delay loop

BEEP

FOR j = 1 TO 100: NEXT j

IF INKEY$ = "" THEN GOTO 5





PRINT " INPUT partition: try 640 for slow 64 for fast:"

INPUT M

SCREEN 12

e = LOG(3) / LOG(2)

M1 = M * 480 / 640

pi = 4 * ATN(1)

FOR i = -1! TO 3 STEP 4 / M1

d = d + 1

FOR j = -1! TO 3 STEP 4 / (M + .5)

c = c + 1

a = j: b = i: k = 0: d1 = a + b: r = d1

DO

IF k = 0 THEN f = a: g = b: r = d1

k = k + 1

x = f: y = g: l = r

IF k MOD 2 = 1 THEN x = f - .5: : y = g - .5:

r = SQR(x * x + y * y)

IF x = 0 AND y > 0 THEN w = pi / 2

IF x = 0 AND y < 0 THEN w = -pi / 2

IF x > 0 AND y > 0 THEN w = ATN(y / x)

IF x > 0 AND y < 0 THEN w = ATN(y / x)

IF x < 0 AND y > 0 THEN w = ATN(y / x) + pi

IF x < 0 AND y < 0 THEN w = ATN(y / x) - pi

IF x >= 0 AND y = 0 THEN w = pi / 2

IF x < 0 AND y = 0 THEN w = -pi / 2



f1 = 1 - ABS(x - y)

g1 = 1 - ABS(x + y - 1)

f2 = r ^ 4 * COS(4 * w)

g2 = r ^ 4 * SIN(4 * w)

IF k MOD 2 = 1 THEN f = f1: g = g1 ELSE f =

f2: g = g2

r = ABS(f) + ABS(g)

LOOP UNTIL ABS(l - r) < 10 ^ -3 OR k > 64 OR r

>= e





LINE (c * 640 / M, d * 480 / M1)-((c + 1) * 640

/ M, (d + 1) * 480 / M1), k MOD 8, BF

IF c > M THEN c = 0

NEXT j

NEXT i

5 REM beep delay loop

BEEP

FOR j = 1 TO 100: NEXT j

IF INKEY$ = "" THEN GOTO 5





END



PRINT " INPUT partition: try 640 for slow 64 for fast:"

INPUT M

SCREEN 12

e = 1.11

M1 = M * 480 / 640

pi = 4 * ATN(1)

s = LOG(2) / LOG(3): v = 2 - s

FOR i = -3 TO 4 STEP 7 / M1

d = d + 1

FOR j = -3 TO 4 STEP 7 / (M + .5)

c = c + 1

a = j: b = i: k = 0: d1 = a + b: r = d1

DO

IF k = 0 THEN f = a: g = b: r = d1

k = k + 1

x = 1 - ABS(f - g)

y = 1 - ABS(f + g - 1)

l = r

f1 = 1 - SQR(ABS(x * y)) ^ s

g1 = ABS((x + y) / 2) ^ v

f2 = SQR(ABS(x * y)) ^ s

g2 = 1 - ABS((x + y) / 2) ^ v

IF k MOD 2 = 1 THEN f = f1: g = g1 ELSE f =

f2: g = g2

r = f + g

LOOP UNTIL ABS(l - r) < 10 ^ -3 OR k > 64 OR r

>= e OR r < .05

IF f > 0 THEN h = 1 ELSE h = 0

LINE (c * 640 / M, d * 480 / M1)-((c + 1) * 640

/ M, (d + 1) * 480 / M1), h + k MOD 15, BF

IF c > M THEN c = 0

NEXT j

NEXT i

5 REM beep delay loop

BEEP

FOR j = 1 TO 100: NEXT j

IF INKEY$ = "" THEN GOTO 5



END

These programs are some of many that can be found in the Fractal Translight Newsletter $20/yr ($50 overseas) from R.L. Bagula 11759, Waterhill Road Lakeside CA 92949 USA


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

1