What you should see when JavaQuat start is a blue area on the left and a green or gray area on the right. The blue area is where you can control the picture you are going to draw. I call it the blue argument entry area. The numbers and button settings for a given fractal will be refered to as the fractal's arguments. On the right are four (4) drawing areas (2 by 2). Each drawing area has three (3) buttons at the bottom.
Each drawing area comes with a set of arguments pre-loaded. If you click on the "Show Args." button of a drawing area the values for the pre-loaded picture, or the last picture that was drawn on it, will be displayed in the blue argument area. If you then click on a draw button the picture described in the blue area will be drawn. To see all the pre-loaded fractals, go to each drawing area, click on the "Show Args." button and then on the "Draw" button.
If you see something in one of the pictures that you would like to enlarge, drag the mouse across the area you want enlarged. A square box will be drawn where you dragged the mouse to show the section of the current picture that will be enlarged if you proceed to click on any draw buton. The values in the blue arguments area will change to indicate the new center and new "View Size".
If you want to change the size of the picture change the value in the "Picture Size" box, just above right center in the blue argument entry area. Values between 9 and 301 should be possible, though the upper limit may depend on your browser. If you want an even bigger picture, click on the button that says "1 Big Canvas". "Picture Size" can then be set as high as 609 on some browsers.
(Go to: Outline of Topics, Fractal
Drawing Page)
The best that I've tried on Macintosh, PC, or Solaris is Apple's MRJ SDK (Software Development Kit) 1.5, just out for the Mac. It is fast and relatively bug free. For more detail on various Java implementations click here. JavaSoft is using some of the technology developed for Lisp and Smalltalk and hopes to soon have a really fast compiler.
I programmed in Lisp for a dozen years, and we had tools and techniques that C++ programmer have never even dreamt of. That and more is likely to come to Java in the next half dozen years or so, unless Microsoft succeeds in its plan to destroy Java. I'd much rather see Java destroy Microsoft, given a choice.
If you think you've found a bug that is my doing, please send email at lystad@iglobal.net describing the problem so I can fix it if I goofed.
(Go to: Outline of Topics, Fractal
Drawing Page)
Each drawing area has three buttons at the bottom.
(Go to: Outline of Topics, Fractal
Drawing Page)
To enlarge a section of a picture, drag the mouse across the section of interest. A white box will be drawn around the selected section and the appropriate argument values will be displayed in the blue argument area. Press any of the "Draw" buttons and the enlargement will be drawn in the corresponding area. If you did not mouse the exact area you wanted, try again. Refreshing the drawing with the "Draw" button, as described in the paragraph above, will erase the white box.
You can also simply click the mouse to display the coordinates of the point moused. They will be displayed in the four blue boxes labeled with the word "Center" at the top of the blue argument area. Pressing one of the "Draw" buttons subsequently will, of course, draw the same fractal re-centered to the newly moused point.
If you are using JavaQuat from a browser your only option may be to do a screen capture. If you are using a Macintosh, you can save a screen image with Command-Shift-3. You Unix users probably have a key set up, or can set one up. PC users are on your own. Java security usually prevents my applet from writing pictures or anything else to your disk. However, Internet Explorer has a directory in which one can place applets that are trusted to not destroy your computer. You can place JavaQuat there, and then, I am told, you will be able to save pictures to your disk and read them back.
If you are using JavaQuat from an applet viewer that lets you turn off security restrictions on accessing your file system, or if you have downloaded JavaQuat and are running it as a standalone application (alone but for the Java VM) you should look at the "I/O & Pivot" section below.
(Go to: Outline of Topics, Fractal
Drawing Page)
It would be helpful if you knew something about complex numbers and the generation of Julia Sets and the Mandelbrot set in order to understand what all the arguments mean. A basic understanding of Quaternions wouldn't hurt either. To that end you might want to read up on these topics. Links for documentation can be found at my Main Fractal Page. But if you don't know, and don't want to learn all that right now, I'll do the best I can to keep the explanation simple so you can use JavaQuat anyway.
For those of you unfamiliar with the above topics, you may want to skip ahead a paragraph or two.
JavaQuat originally drew only fractals of the form
Qn = Qn-1P + C * Q0 + T.
where Qwhatever, C, and T are either all Quaternions or all
Complex numbers. The argument boxes let you select the center point of
the picture, C, and T, each of which has four components labeled R, i,
j, and k. If you are drawing in the Comples plane the j and k components
will be unused. If you are drawing fractals in Quaternion space or any of the
other 3 and 4 dimensional spaces available with JavaQuat they will very likely
be used. The argument boxes labeled Center, Qo times, and Qo plus allow specification
of the picture's center point, C, and T respectively.
The box labeled "Power" lets you specify P, the power. P may be any of the integers 2, 3, 4 or 5 currently. It also has another function that is described below under the topic Power Button. Briefly, the button can be set to "Loop Selector" in which case the box above it is relabeled "Loop ID". Various "Loop" methods define fractal functions in various mathematical spaces, including Hypercomples space and various others. If you know just a small amount of Java you can make your own "Loop" methods and so define any fractal you wish. There's no limit but the bounds of your imagination.
The adjusted value also depends on the value of the "Fidelity" button. The "Draw Fast/Low Fidelity" setting (the default) requires sizes that are one bigger than a multiple of 8. The other setting allows any number between the minimum and maximum.
One way to do this is to put a number of degrees in this box and press the return key. The values in the "Center", "Qo Times", or "Qo Plus" boxes will be moved by the indicated amount. Which values advance depends on the value of the "Scan On..." button. The other way is to draw a fractal. When the picture is finished the appropriate values will be adjusted unless the picture is part of an auto-advance sequence and unless there is a pivot to be done at the end of the picture (See next paragraph.) Both positive and negative numbers are allowed, as is scientific notation (e.g. 2e-5, meaning 0.00002).
One way is to put a number of degrees in this box and press the return key. The values in the "Horiz. Axis" or "Vertical Axis" boxes will be moved the indicated number of degrees. The other way is to draw a fractal. When the picture is finished the chosen axis will be advanced the given number of degrees unless the picture is part of an auto-advance sequence. Negative degree entries, fractional entries, and those above 360 are allowed in addition to the normal values from 0 to 360.
JavaQuat's auto advance feature will allow not only zoom frame sequences to be generated one after another, but also pivot sequences. The "Pivot deg." box is NOT used for this purpose.
Panels must be assembled using other software. On the Macintosh I recommend the shareware program called GraphicConverter. Copy and paste (using Cmd-Option-v) to assemble the picture easily. Save it in the format of your choice.
JavaQuat 1.3 and later have an "Auto Advance" feature that will draw one panel after another for you and save them to your disk as each is drawn. You can use the X and Y panel numbers to start on the panel of your choice. For more on that see the section on panels in the section on file input and output below.
(Go to: Outline of Topics, Fractal
Drawing Page)
There are various buttons in the blue argument area, among the argument boxes. Here's what they do.
Various classes are used to implement the sequences that use different exponents (powers) in the complex plane. When the "Power" button is set to "Complex Power" you may select from among them by giving the exponent, or power. To do this you enter a single digit in the "Power" argument entry box. It may be 2, 3, 4, or 5.
The "Power" button can also have the value "Quaternion Power". In this case the "Power" argument selects among classes that implement the quaternion sequences. Again the value of the argument picks the class that implements the appropriate power. Allowed values are 2, 3, 4, and 5 for the power.
The final value for the button is "Loop Selector". In that case you can enter the name of any of the classes present that implement the Looper4d interface. Those that currently come with JavaQuat are named
The *s above indicate nice fractal pictures found there. I have personally found nice fractals in the Loop2x and Loop4x fractal loops and additionally in Loop322, Loop428, Loop429, LoopHCx, and LoopTetraNP.
Classes Loop32 and Loop321 implement 3D spaces with a square being taken in the sequence. They are weird but possibly worth a look. The four hundred series, the Tetra series, and HCx are 4D spaces with non-quaternion multiplication tables. See the source code for the details. The loops Loop322k, Swirl, Feedback2, and Seq3DSq defy simple description. Again see the source code for the details.
You have the option to add your own loop classes to JavaQuat if you download the program. Your loop class will need to implement the Looper4d interface, which will be found in the source. It will receive three Quaternion class arguments and an integer. The first quaternion is the point in 4D space that is to be drawn. The next two quaternion arguments are the "times" and "plus" values direct from the blue argument entry area. The last argument is the integer depth, also from the argument entry area. Your class must return an integer with value in the range 0 to depth inclusive. How you get from the arguments to the result is up to you.
To compile your loop class place it in the JavaQuat folder/directory and use JDK 1.0.2 from JavaSoft to compile it. To use your loop from JavaQuat set the "Power/Loop Selector" button to "Loop Selector". Then enter the name of your loop class in the "Loop ID" argument box just above the button. No changes to the JavaQuat source are required.
"You mean I have to draw it all over again?" you ask. The purpose of this button is not to rotate the picture you just drew, though you can use it for that. The purpose is to help you select the 2-dimensional slice of Quaternion space that you are going to draw in the next picture. If you want to rotate a large picture, save it to disk, bring up in image manipulation tool and rotate it with that if you like.
When full color (i.e. millions of colors) is supported by JavaQuat, the 4 and 9 points per pixel settings will also provide anti-aliasing, that is edge smoothing where two colors, or shades of color, meet.
That situation leaves you rather limited, however, when it comes to picking values of C and T in the above formula. So now you can vary these quantities instead of Z0 in the picture. With the setting "Scan on Times", Z0 remains fixed throughout the picture you draw. What varies is C. The horizontal and vertical axes are set the same as ever, as is the "view size". In fact everything works just the same, except that each pixel represents a slightly different point in the R,i,j,k space labeled as "Qo times ...", and when you select a new center or draw a box on the picture it is these values that change. All of the foregoing is true of T and the "Qo plus ..." values when the button reads "Scan on Plus". The button cycles through these three setting as it is pressed repeatedly. The button setting is saved with argument sets and images and restored when they are read back in.
Use of this button can assist you in selecting interesting values for all 3 sets of R,i,j, and k values. Typically an image looks very similar at the center in all three settings of this button. It is only when you zoom out, usually, that you see that the surroundings have changed. Recenter in an interesting spot and try changing the setting of this button again and see what you have. It will almost certainly be different.
When you have the "I/O & Pivot" controls area showing, the "DRAW" buttons in the fractal drawing areas will not function. To resume drawing you must return to the blue argument entry area. This is done by clicking on the "Exit I/O" button. If any argument sets or JavaQuat GIF files have been read using the "I/O & Pivot" controls the values in the last set will appear in the blue argument entry area to which you return after clicking on the "Exit I/O" button.
Layout:
Across the top of the "I/O & Pivot" controls area are three buttons.
On the left of this row is a button labeled "Enter Pathname" or
"Enter URL". This controls JavaQuat's expectations of where
you are going to read or write. To the right of this button is a button
labeled either "Logging is Off" or "Logging is On". And
on the far right of this row is a button labeled "Exit I/O" which
will return you to the blue argument entry area.
Just below this row of buttons is a wide, short box to enter a pathname or URL. I will refer to this as the "pathname box". Below that is a message area where JavaQuat will give you status messages.
Below that is another row of 3 buttons. On the left you can choose to read or write. In the middle you can choose what to read or write, either argument files or GIF images. I hope to support PNG format images eventually. On the right is a button labeled "Do I/O Now" which can be used to initiate a read or write operation.
Below this is a "comment box" for entering text of your choice into argument sets and pictures. The comments and all the arguments needed to draw a picture are stored in each picture file, but are not visible in the picture.
Below this is a final row of 2 buttons with a text entry box between them. On the left is one that lets you choose whether you are setting up a zoom sequence, a pivot sequence, or simply a multi-panel picture to be generated. If you want multiple panels in a zoom or pivot sequence set this button for the zoom or pivot sequence. The box in the middle lets you set the number of frames in a zoom or pivot sequence or the width of the number of panels for a large picture. The button on the right that is labeled "Set ...." records settings for the automatically generated sequences.
When the "Set ...." button is pressed a pathname may or may not be saved. This is determined by the setting of the wide button two lines below the "Set ...." button. If it is just set to pause after each panel or frame no pathname is required. This setting is for people saving pictures with screen capture or people who just want to look at the pictures and not save them. If the wide button is set to save the pictures it will take a pathname prefix from the pathname box if you've entered one. This prefix will have the frame and/or panel number(s) appended to it. If no pathname prefix is supplied a pop-up file system navigator window prompts for a pathname. From that you can enter a pathname prefix or cancel.
When the "Set ...." button is pressed an integer in the "number box" to the left is read. If you are setting up a zoom or a pivot sequence this will be the number of steps between frames. Thus if you enter 50 you will end up with 51 frames numbered 0 through 50. If you are simply setting up a multi-panel picture then the number is optional and will set the "Panels" entry in the main argument entry area.
If you are setting up a zoom sequence the arguments of the final, or destination, frame are captured when you press the "Set ...." button. These arguments are taken from one of the drawing areas to the right of the controls. Just which of the drawing areas in listed on the line below the button. Clicking on another picture will change the destination and the line of description.
If you are setting up a pivot sequence the number of degrees through which the entire sequence will move, the "Target" axis that determines the plane of motion, and which axis is to move during the pivot sequence are all captured when you press the "Set ...." button. These are all taken from the "Pivot Manager". The number of degrees is taken from the top entry line of the pivot manager. The target axis is taken from the four target entries. Which axis is to be rotated depends on the setting of the button that will either say "H axis" or "V axis". It is a good idea to make sure that the axis values displayed at the bottom of the pivot manager match those of the picture you wish to pivot. If you are not sure, that can be done by making sure the axes are unlocked (lower left button in pivot managers cluster of 4 buttons) and then clicking the mouse on the picture you wish to pivot.) For more on the pivot manager see the section below.
Both reading and writing can be done to files on your computer or to URLs, providing you are not using a browser that prevents this.
If you are writing to (or reading from) a file and the pathname box is empty when you click the "Do I/O Now" button, a pathname dialog box will pop up to help you select a pathname.
After you draw a picture you may wish to save the arguments that were used to make it. That way you can easily recreate the picture at a later time and yet you do not use as much disk space as if you saved the picture. When you go to the "I/O & Pivot" controls area from the main argument entry area, there will be an indicator of which picture's arguments will be saved. This will usually be the last picture drawn, but you can look a couple of lines above the pivot manager to make sure.
Steps:
Use the "URL/Pathname" button at upper left to choose the type of
destination for your argument set. Set the "Read/Write" button to
"write". Set the "Args/GIF" button to "args."
A comment can be entered in the larger text area, the comment box, just below
the "Read/Write" and "Args/GIF" buttons. At a minimum
the time and date will be saved as a comment to the argument set written.
Enter your URL or pathname in the pathname box. Either press the return key on your keyboard or click the mouse on the "Do I/O Now" button. If you are writing to a file you also have the option of clearing the pathname box and pressing the "Do I/O Now" button. In that case a dialog box will pop up to help you choose your file.
In fact you can save the arguments of all the fractal images that are visible. As you click on any one of them a comment line in the "I/O & Pivot" area will change, saying something like "Looking at Lower left fractal". The above steps will save the arguments of the image indicated.
In order to avoid the trouble of having to manually save arguments after each picture you draw, you can click on the button labeled "Logging is Off". If a usable pathname has been entered in the pathname box the button will be relabeled "Logging is On" upon being clicked. Thereafter, until the button is clicked again, each time the drawing of a fractal is begun, the argument set and whatever comment appears in the comment box will be added to the log file. If you want to turn logging off for a while just press the button again. If later you want to restart logging push the button a third time. If the pathname in the pathname box is unchanged from what was chosen for logging previously the file will be extended. If a new pathname is chosen the current log file will be closed and a new one will be opened.
JavaQuat 1.5 will save your fractal pictures as GIF 89a format files that include the argument set.
Steps:
Use the "URL/Pathname" button at upper left to choose the type of
destination for your argument set. Set the "Read/Write" button to
"write". Set the "Args/GIF" button to "GIF".
A comment can be entered in the larger text area, the comment box, just below
the "Read/Write" and "Args/GIF" buttons. At a minimum
the time and date will be saved as a comment in the file written.
Enter your URL or pathname in the pathname box. Either press the return key on your keyboard or click the mouse on the "Do I/O Now" button. If you are writing to a file you also have the option of clearing the pathname box and pressing the "Do I/O Now" button. In that case a dialog box will pop up to help you choose your file.
As with argument sets, you can save all the fractal images that are visible. As you click on any one of them a comment line in the "I/O & Pivot" area will change, saying something like "Looking at Lower left fractal". The above steps will save the image indicated.
Once a set of arguments has been saved out to a file, you can read them back into JavaQuat or enter them by hand. The former is much easier and less error prone. To do that you must specify the pathname or URL to read from and possibly which set of args in the file to use.
Set the "Pathname/URL" button as desired.
Set the "Read/Write" button to "read".
Set the "Args/GIF" button to "args".
You may enter a pathname or URL in the pathname box. If you intend to read a file you may also leave it blank in order to obtain a pop-up pathname dialog window to help you find your file. If you press the return key while the pathname box is selected, the cursor will advance to the number box.
If the file to be read is a log file there will be lots of sets of arguments in it. Each has a log_id entry. If you want the first set of arguments in the file you need only leave the number box blank. The number box is located centrally just below the comment box and has a button (with rounded corners) to either side. If you do not want the first set of arguments in the file the log_id of the argument set you want must be entered into the number box. Typically this is a number, but if you edit the argument set or log file it might be any string of characters. Argument sets are simple ASCII files and can be read or edited with any text editor. If you use a word processor and edit the file, make sure you save the file as ASCII.
When you are ready to read the arguments press the "Do I/O Now" button. If the pathname box is blank and you have the "Pathname/URL" button set to pathname, a dialog box will pop up to help you choose your file. Then the read will be done. You can now exit the I/O & Pivot controls area (upper right button) and draw the fractal represented by the arguments just read. Use the "Draw" button of your choice.
Reading an image is essentially like reading an argument set.
Set the "Pathname/URL" button as desired.
Set the "Read/Write" button to "read".
Set the "Args/GIF" button to "GIF".
Since there is only one image per file you do not need to specify a log-id number in the number box. Thus if you press the return key while the cursor is in the pathname box JavaQuat tries to read an image file, instead of moving the cursor to the number box as it does when reading arguments. Instead of pressing the return key you can instead click on the button labeled "Do I/O Now".
Each GIF file writen by JavaQuat 1.5 contains a set of arguments along with the picture. This allows JavaQuat to reset itself to the same state it was in when the fractal picture was just drawn. Thus after reading in a fractal GIF file you can mark a box with the mouse and zoom in on it, or click a point with the mouse to recenter. You can edit the color map, or do anything else you might do if you had just drawn the picture.
JavaQuat will place a picture in the drawing location last used or clicked on if it thinks there is enough room. If it thinks there is not enough room it will place the picture in the large drawing area.
Example:
<APPLET CODE="Fractal4dApplet.class" CODEBASE="file:///Rose/JavaQuat-14/" WIDTH=920 HEIGHT=660> <PARAM NAME="url" VALUE="http://www.iglobal.net/lystad/foo.gif"> There would be an applet here if your browser supported Java. Try downloading <A HREF="http://www.netscape.com/">Netscape Navigator</A> </APPLET>
If JavaQuat is run as a standalone application the same can be accomplished by using the command line arguments. One would write "JavaQuat url "file:///Rose/foo.gif"
Some Java implementations make it possible to determine exactly how much room there is for such an initial fractal picture. In that case the large drawing area is used when the picture is too large. When it is not possible to tell how much room there is, pictures more than 295 pixels wide are drawn in the large area.
(Go to: Outline of Topics, Fractal
Drawing Page)
Creating a sequence of images is easy with JavaQuat:
You will notice the button that had previously said "Auto Advance is Off" now says "Begin Zoom". Don't press it yet. First draw the image that you want to be the first frame of the zoom. Try a couple of times if needed until you get it just the way you want it. Now press the "Begin Zoom" button. Your first-in-the-sequence image will be saved as frame 0 and the subsequent images will be drawn. The button that said "Begin Zoom" will now keep track of the last frame number saved. After the last image is saved the button will say "Auto Advance is Off" again.
Now here's a little more detail and some variations. You can read in a set of arguments or a GIF file for your "final image". At this point you can specify a pathname and number of frames in the zoom and press the "Set Dir,Steps,Dest" button. You can now do other things. Unless you click on the "Set Dir,Steps,Dest" button again the destination argument set won't change.
What about this pathname? Are all the images stored in the same file? No, what you enter is just the common part of the pathname for all the images that are stored. If you enter a pathname such as "/Star/zooms/my-favorite" the individual images will be named "/Star/zooms/my-favorite-z00.gif", "/Star/zooms/my-favorite-z01.gif", "/Star/zooms/my-favorite-z02.gif", etc. You will need other software in order to assemble the individual images into an animated gif file. At least for the Macintosh, programs like GraphicConverter and GifBuilder work well and can be downloaded from the net. Don't forget your shareware fees.
Only 22 arguments are saved in the destination argument set? All the others are taken from the first image. These others include the picture size (i.e. how many pixels), the number of color cycles, the number of panels, and the choice of low or high fidelity.
How is the interpolation done between the arguments of the first image and those of the last (destination) image? The vertical and horizontal axes are interpolated as angles. The times and plus values and the depth are interpolated linearly. The view size is interpolated logarithmically. The center is a mix of logarithmic and angular interpolation. I don't expect it to produce the same result "zooming in" as "zooming out". If you have any better ideas send me email and I'll try them out when I can.
Can I read the argument set for the first image too? Yes, you sure can. Read in the arguments, then exit the "I/O & Pivot" control area. Make sure the fidelity and picture size are what you want. Also make sure that the power or "Loop ID" are the same in the first and last images of your zoom. There is no way to interpolate between different mathematical formulas. Now press "Begin Zoom".
(Go to: Outline of Topics, Fractal
Drawing Page)
Computer screens are only so big, and so JavaQuat is limited in what it can draw at one time. That does not limit the size of the picture you can make however. You can create a fractal image as big as you like with JavaQuat. You do that by using panels.
Normally, you draw fractals with the number-of-panels argument set to one. If you do and then change the number-of-panels argument to 3, you will be able to draw an image 3 times as wide and 3 times as high. It will be drawn in 9 panels. If you don't change anything but the panels arguments you will have a picture of the same thing as with the number-of-panels set to one, but it will be larger, with more detail, and come in 9 pieces that will need to be assembled with another program. On the Macintosh GraphicConverter is excellent for this.
The 9 panels would be drawn one at a time. Which of the 9 you are drawing is controlled by the Horiz. Panel and Vertical Panel arguments. Each value will range from 0 through 2 to produce this larger, panel version of the original image. If the horizontal and vertical panel indices are each set to value 0 you are looking at the left-hand, upper corner. You can also use the Horiz. Panel and Vertical Panel arguments with values outside this range, both negative and positive integers are allowed. Such values will show portions of your fractal outside the original image you had with one panel.
There is nothing special about the value 3 for the number-of-panels, argument. You may just as well enter 20, for a total of 400 panels. If you do, however, it is going to take you a long time to get them all drawn. That is why the program's auto advance feature, that is used in zooms, can be used for mulit-panel pictures too.
The pathname you entered is used as the beginning of the pathname for each of that panels that is saved. To each the string "-ynn-xmm.gif will be added to make the complete pathname. Here nn is the number of the vertical panel position and mm is the number of the horizontal panel position. Numbering begins at 0.
The button in the blue, argument entry area that had said "Auto Advance is Off" will now say "Begin Panels". Before you click on that, make sure all the arguments are correct for the picture you want to draw. You can draw a small version of it first just to make sure if you want. In that case set the number of panels to one, but remember to set it back when you're through with our test. The picture that the arguments specify will be drawn in sections when you press the "Begin Panels" button.
Make sure the picture size is correct before you press the "Begin Panels" button. If the picture size is 105, for example, and your number of panels is set to 3, you will have your picture split up into 9 pieces, 3 by 3, and each will be drawn 105 by 105 pixels in size. If you press the "1 big canvas" button and put the picture size at 601 you will get 9 panels, each 601 by 601, for a much larger picture.
You can set the number of panels and the current Horiz. and Vertical panels to anything you like before pressing the "Begin Panels" button. This allows you to change your mind about how big a picture you want up to the last minute. It also allows you to begin somewhere other than at the beginning, in case your computer crashed or you had to kill JavaQuat in the middle of producing a really big picture.
During the drawing of a multi-panel sequence the Horiz. Panel and Vertical Panel argument entry boxes will be updated to show you which panel is currently being drawn.
You can create a zoom of multi-panel pictures, though I'm not sure why you'd want to. Set up the zoom as above, then set the number of panels in the blue, argument entry area, before clicking on the "Begin Zoom" button.
(Go to: Outline of Topics, Fractal
Drawing Page)
Creating a pivot (i.e. rotational) sequence of images is possible with JavaQuat:
(Go to: Outline of Topics, Fractal
Drawing Page)
(Go to: Outline of Topics, Fractal
Drawing Page)
To select the color you want to change use the mouse. You can either click on your selection in the color map display at the top of the color map editor, or you can click on the picture whose color map you are editing at the location where you want to change the color.
Below the six buttons that appear in the middle of the color map editor (described below) is a large wide button. It is colored the same as the position chosen with the mouse from the color map display or the fractal. In the center of the button should be an indication of the color map entry that is being edited. These two characters correspond to the row and column of the color map display at the top of the screen. If this label does not show up do to errors in your browser, click on the button whenever you want to see it. The problem is with your browser I believe.
To adjust the selected color map position, you can type in either red/green/blue values or type in hue/saturation/brightness values. Also there are sliders to set these values. A button in the lower right of the color map editor can be used to toggle between the sliders setting red/green/blue values or setting hue/saturation/brightness values. If you use the sliders the big color button above them will change colors and the rgb and hsb values will be updated as the slider moves. The color map display and the fractal will not be updated until the mouse moves outside of the slider. I realize that is a little clumsy, but the current version of Java, 1.0.2, limited my choices. Send email if you want to know more.
If the "sliders are" button at the bottom, right of the color map editor, says "RGB" the interpolation will be by RGB values. If it says "HSB" the interpolation will be by HSB values. The difference is illustrated by ramping from red to blue. An RGB ramp will go from red through purple to blue. An HSB ramp will go through yellow, orange, and green to blue.
If one of the drawing areas involved is the big drawing area there are a few more steps. As before, make sure you are editing the destination drawing area map. As before, click on the "Get Color Map" button. Now change the drawing areas showing by (1) clicking on the "Quit Editor" button, (2) clicking on the "1 Big Canvas/4 Small Canvases" button, and (3) clicking on the "Edit Color Map" button. Now click on the drawing area that is to be the source of the new color map. You should see the color map display at the top of the color map editor change. If you now go back to look at the destination drawing area it will be colored with the new color map.
(Go to: Outline of Topics, Fractal
Drawing Page)
This Java page and the associated software comes without any statement, expressed, implied, or otherwise, of it's suitability for any use. The user assumes all risk for use of this software. The GNU software license terms apply to this program (JavaQuat) and associated files. See the JavaQuat README.html file for details.
The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated.
Copyright(c) 1997 by Garr S. Lystad
JavaQuat(c) is the Copyright property by Garr Lystad.
This copyright does not apply to the GIFEncoder.java file, but applies to all remaining .java source files and .html files contained herein. JavaQuat(sm)
is a Service Mark property of Garr S. Lystad
Some values of arguments are illegal, such as "View Size" being 0, or the Horiz. and Vertical directions all being 0 length, or being parallel. If I was able to think of a possible mistake, the software will output a message to the "Java Console" when and if you make it. In Netscape "Show Java Console" is available in the Options menu.
Illegal arguments should turn red when you try to draw a fractal. A lot of browsers aren't capable of handling that however, unless you force them to refresh by covering the applicable part of the window and then uncovering it.
I've fixed all the bugs I've found, but that doesn't mean you won't find something wrong. If you do though, make sure you have the latest browser of your choice. On a Mac you cannot use Internet Explorer to load JavaQuat over the net. Internet Explorer has a bug and gets an error loading JavaQuat unless it is from a disk. On PCs it seems to work OK. (I wonder why :-)
For an evaluation of browsers and such with JavaQuat click here
Any other complaints? Send me an email at the address below. I make no promises about fixing anything, but I'll do what time and my current knowledge of Java allow. In fact I make no promises about JavaQuat. See the README file that accompanies the JavaQuat software in that regard.
This software is freeware. You are welcome to copy it and give it to friends. The GNU software license terms apply to this software. Please make only complete copies, including all the files entirely. If you like JavaQuat let me know, if you have the time. I'd appreciate an email to lystad@iglobal.net.
Go to Outline of Topics, Fractal Drawing Page to draw your own, Fractal Page to see some I've drawn and various links, or Home Page.
If you have trouble with this page, please email me at lystad@iglobal.net