Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. March 29, 2024, 11:35:16 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Java Fractal Generator  (Read 10641 times)
0 Members and 1 Guest are viewing this topic.
HazardHarry
Forums Freshman
**
Posts: 14


« on: September 15, 2017, 10:43:35 PM »

Latest Version (2017-9-30): https://drive.google.com/open?id=0B4-OcX4x1ANwSjNoQTRCOUIyOUE
New Examples: https://drive.google.com/open?id=0B4-OcX4x1ANwT2t5WGFUY0VVQWc

Post about this version: http://www.fractalforums.com/index.php?topic=26268.msg103684#msg103684

-----------

Previous Version: https://drive.google.com/open?id=0B4-OcX4x1ANwd0xZdVFQSndyWlU

I've been waffling on releasing this for some time now because to be frank, it's not ready for public consumption. Because I've been focusing more on the back-end more than the front-end, it's very user-unfriendly at the moment. That said, it does work, and if you know what you're doing there's all sorts of cool stuff you can make. Maybe putting it out here will finally get me to work on making the GUI nice and neat.

-----------

Requirements:

1. Java SE (It's free)
2. A little over 1GB of free ram. (This is something I'm hoping to fix in the future.)
3. A C: drive.

-----------

Examples:

Large Renders: https://goo.gl/WfRZiq
Animation*: https://giphy.com/channel/alexander_harris
Zip file of examples and their settings: https://drive.google.com/open?id=0B4-OcX4x1ANwT2t5WGFUY0VVQWc

*A few of the animation types in there are accessible only in the code and not through the GUI at the moment.
-----------

Instructions For Running On Windows:

I didn't understand threading before starting this project, so when you generate anything the GUI will stop responding. In order to get progress readouts from the program you need to run the program through the Command Prompt. You CAN just run the program after installing Java SE, but without the other steps you won't have any way of knowing how fast (or slow) the program is generating the fractals. Also, my program doesn't have any built-in data-validation yet, so the only way you can tell if you typed something you shouldn't have is through the Command Prompt at the moment.

1. Download and install Java SE.
2. Create a new folder and put the .jar file in it.
3. Open the Command Prompt.
   -To open it quickly, press the "Windows" key and the "R" key at the same time, then type "cmd" in the dialogue box that comes up and hit enter.
4. In the Command Prompt, type "cd" followed by a space.
5. Drag and drop the folder you created into the Command Prompt. Hit enter.
6. In the Command Prompt, type "java -jar", followed by a space.
7. Drag and drop the .jar file into the Command Prompt. Hit Enter.

If everything is done correctly, the program should run and you'll get progress readouts in the Command Prompt.

-----------

Guide (Incomplete):

Because the program is so user-unfriendly at the moment, I'd like to do a video over the next few days showcasing how to (and how not to) use it. For now, just know that the Function Index and Test Index are probably two of the most important things you can play with. In the zip file I included a few text documents that show what each of the indexes are.

Here are some other basic tips:

- Running the program will create "C: -> Fractals" and some sub-folders, which is where all of the images and animations you create/save will go.

- I've included a link to a 400mb zip file with example images and their settings. Historically the code that created the settings file had some major bugs and omissions in them, so some of the settings files (especially the older they are) may not be accurate. If there's fractal you want to recreate but the settings file is wrong, give me the name of the file and I'll almost certainly be able to sleuth out what the correct settings are for you.

- You can only use the "Recolor" function if you set the generator to "slow" (upper right button on the Main Tab).

- Changing the quality exponentially increases render time. 3 is generally as high as you'll need to go, but you can still see improvements sometimes if you go higher.

- When using the "Slow" render method, data will be cached on the C: Drive. Higher quality programs require exponentially more disk space. I don't recommend going higher than quality level 10 with the "Slow" method for this reason.

- Set Quality less than or equal to 0 to make Buddhabrots.

- Quality 0 Buddhabrots use random points to make the images. The number of random points used can be changed in the "Other" Tab in the text box labeled "Number of Points".

- The Custom Width and Custom Height settings on the "Other" Tab govern the output size of the "Custom" buttons on the Main Tab and Mu Analysis Tab, as well as all of the animation sizes. Both "Orb" Animations will double the custom width.

-----------

Controls:

R: Recolor fractal based on current settings (only works if you're using the slow render method)

P: Saves the current fractal and settings to "C: -> Fractals -> Images -> Screenshots."
O: Saves the current Mu Analysis and settings to "C: -> Fractals -> Images -> Screenshots."

. (Period): Zoom in to the point your cursor is hovering over.
, (Comma): Zoom out from the point your cursor is hovering over.
(For both (Period) and (Comma), if your cursor is not hovering over the image the zoom will be centered at whatever the "Center" is currently set to.)
/ (Forward Slash): Reset zoom to "Window = 4.0".

Z: Set Center to (0.0, 0.0).
X: Copy the Center's value to the Constant value and then set Center to (0.0, 0.0).

(You must either recolor image or generate a new one for the following to take effect)
C: Toggle between Custom and Default color schemes. When set to Custom the Gradient Level will be set to 1, but you can change it.
B: Toggle between Black and White backgrounds.

V: Set Function index to -1. This is the "Custom Function List" setting.

Q: Set the animation's left or right bounds, based on the current Constant value. This will also serve as the starting point of the animation.
W: Set the animation's top or bottom bounds, based on the current Constant value.

A: Set the starting Window for a Zoom animation, based on the current Window value.
S: Set the ending Window for a Zoom animation.

L: Copy the Window bounds from the Main Tab to the Mu Analysis Tab. This is useful if you want to make a collage in the Mu Analysis tab based on an image in the Main Tab.

-----------

Notes:

- At the moment, anything that uses multithreading will attempt to eat your entire CPU. I'll add an option to limit this in the next version.

- Speaking of multithreading, not everything in the program is capable of it at the moment. Multithreading is the newest feature in the program so it hasn't been fully implemented yet. Four items use it at the moment, and only when Quality > 0:
1. (Main Tab) "Generate" (Only if "Fast" is on)
2. (Main Tab) "Custom"
3. (Animation Tab) "GIF"
4. (Animation Tab) "Zoom"

- There are a number of special functions I made that have weird names. What the heck is an "ArbitraryPow"? What's the difference between ln(), ln2(), and flippedln()? I'm not going to make a guide for them now, but if you have questions about them I'll answer.

- The ".pow(int, int)" functions used to occasionally soft-lock the program, but I think I fixed that a while back. I only mention it here in case the problem still persists.

- In the "Custom Function List", certain functions are not compatible. Check the "Custom Function Compatibility List". Everything from index 456 onward is compatible though.

- "DE: 0" Doesn't do anything yet.

- Both Orb animation types will always render stereoscopic 3D images at the moment.

- In the Animation Tab, the lighting engine feature for the orbs is objectively not great. XD

- cMod2 (Color Mod 2) modifies the colors the image based on some statistics that are only generated if you have the generator set to "slow". If you use Color Mod 2 with the generator set to "fast", the program will use the statistics from the last fractal that was generated with the program set to "slow".

-----------

Again, this documentation isn't complete. There are all sorts of bugs to watch out for, and a number of features I have either barely covered or didn't touch on at all. I think a video tutorial will be much more helpful for a program as unfinished as this. I will try to have one ready over the next few days.


* Screenshot_2.jpg (238.93 KB, 896x667 - viewed 854 times.)
« Last Edit: September 30, 2017, 09:09:45 PM by HazardHarry » Logged
Sockratease
Global Moderator
Fractal Senior
******
Posts: 3181



« Reply #1 on: September 15, 2017, 11:31:32 PM »

How about posting some example images instead of linking to them offsite?

It makes your post look less like plain old advertising and more like sharing.
Logged

Life is complex - It has real and imaginary components.

The All New Fractal Forums is now in Public Beta Testing! Visit FractalForums.org and check it out!
HazardHarry
Forums Freshman
**
Posts: 14


« Reply #2 on: September 16, 2017, 01:32:12 AM »

How about posting some example images instead of linking to them offsite?

It makes your post look less like plain old advertising and more like sharing.
Oh wow, I didn't mean for it to come across that way. The program is free and I'm not linking through ad sites, but looking at my post I can see why it looks kinda sketchy, haha. I'll add some examples to the post when I get home later.


* 00_Collage.jpg (230.04 KB, 600x600 - viewed 590 times.)
« Last Edit: September 16, 2017, 03:04:20 AM by HazardHarry » Logged
Sockratease
Global Moderator
Fractal Senior
******
Posts: 3181



« Reply #3 on: September 16, 2017, 01:10:56 PM »

Thanks!

I wasn't implying it was wrong, just that it could appear that way.

We remove spam and advertising posts without saying anything - this was never that, but it sort of looked like it at first glance, so I said something.  I was at work and posting in a hurry.  I may have been able to phrase that differently   sad

Nice looking results!

I'll give it a test run if Life ever gives me a break and I get some time...
Logged

Life is complex - It has real and imaginary components.

The All New Fractal Forums is now in Public Beta Testing! Visit FractalForums.org and check it out!
Gerson
Forums Freshman
**
Posts: 18


« Reply #4 on: September 18, 2017, 02:51:04 PM »

It seems to be great.
I suggest you:
- to use subfolders of program folder to save all kind of files as parameters and videos and so on.
- save version number in parameter file because when you release a new one maybe some old parameters wont work well.
- put an option to save image and parameter file at same time.
I dont see all funtions yet but I like very much "Mu Analysis".
Thanks for sharing.

Logged
HazardHarry
Forums Freshman
**
Posts: 14


« Reply #5 on: September 18, 2017, 10:08:22 PM »

I wasn't implying it was wrong, just that it could appear that way.

We remove spam and advertising posts without saying anything - this was never that, but it sort of looked like it at first glance, so I said something.  I was at work and posting in a hurry.  I may have been able to phrase that differently   sad
No worries, I understood you perfectly.  grin

It seems to be great.
I suggest you:
- to use subfolders of program folder to save all kind of files as parameters and videos and so on.
- save version number in parameter file because when you release a new one maybe some old parameters wont work well.
Good ideas. The parameter saving system needs a major overhaul.

- put an option to save image and parameter file at same time.
Maybe I'm misunderstanding, but isn't the program already doing that?

I dont see all funtions yet but I like very much "Mu Analysis".
Thanks for sharing.
No problem! I'm glad you liked it!
Logged
Gerson
Forums Freshman
**
Posts: 18


« Reply #6 on: September 19, 2017, 03:06:46 PM »


"Maybe I'm misunderstanding, but isn't the program already doing that?"

Ok, I was searching for C:FractalsImagesScreenshots as a folder and not at C:FractalsImagesScreenshots. Sorry.

I tryed some comands and change some values and nothing happens to the image. Only I get is to choose an image in Mu Analysis and put it at main tab.
I change custom size on other tabs and image was save always at 600x600?
I think I will need a video to start using it ...
Logged
HazardHarry
Forums Freshman
**
Posts: 14


« Reply #7 on: September 19, 2017, 03:48:27 PM »

"Maybe I'm misunderstanding, but isn't the program already doing that?"

Ok, I was searching for C:FractalsImagesScreenshots as a folder and not at C:FractalsImagesScreenshots. Sorry.
Oh, it looks like this website gets rid of the slashes. No wonder you were confused. Sorry about that. I'll use arrows instead from now on. (C: -> Fractals -> Images -> Screenshots)


I tryed some comands and change some values and nothing happens to the image. Only I get is to choose an image in Mu Analysis and put it at main tab.
I think I know what's going on, but it's a little hard to explain without video. Are you getting error messages in the command prompt? If so, then it means you probably typed something you shouldn't have somewhere. It's my fault though. I haven't included any warnings in the program that let you know where you did something wrong. This feature will definitely be included in a future update.

*edit*
Until I do the video, there are a few key things you can watch out for:
The maximum Function Index is 1067.
I'm fixing this in the next update, but here are the rules for the Test Index:
Quote
- In the Test Index there must be two numbers.
- The first number must be either a '0' or a '1'.
- If the first number is '0', the second number can go up to '140'.
- If the first number is '1', the second number can go up to '5'.
(Back in 2012 when I first started learning about fractals, I had two banks to store tests in. I've only kept the bank system for consistency over the years. In the next update I will get rid of the bank system and merge Tests 0-5 in Bank 1 with the other Bank and re-number them as Tests 200-205.)
The same rules as above apply to the text box next to the "Partial" button on the Main tab.
The maximum Color Index is 40.
The maximum Color Mod Index is 30.
There's a bug that limits the maximum Gradient Level to 255. Going over won't stop the fractal from generating but it will destroy gradient, turning everything into a solid color.
When you start the program, if a text box has a decimal number in it, it accepts decimal numbers and integers. However, if the text box contains an integer in it, that means that the text box will only accept integers. Also, make sure you don't put an extra decimal in.


I change custom size on other tabs and image was save always at 600x600?
The 'P' key will always copy the 600x600 image currently on the main tab to the disk. Towards the upper-right corner of the window there's a button labeled "Custom". That button will generate a new image based on the size you specified in the "Other" tab. The image will be saved to "C: -> Fractals -> Images -> Custom", and will get its own folder.

I think I will need a video to start using it ...
This morning I put the finishing touches on my outline for the video, so I will be ready to record tonight. Barring any unseen obstacles, the video should be up sometime tomorrow.  grin

« Last Edit: September 19, 2017, 06:37:09 PM by HazardHarry » Logged
HazardHarry
Forums Freshman
**
Posts: 14


« Reply #8 on: September 30, 2017, 09:03:55 PM »

Latest Version: https://drive.google.com/open?id=0B4-OcX4x1ANwSjNoQTRCOUIyOUE
New Examples: https://drive.google.com/open?id=0B4-OcX4x1ANwT2t5WGFUY0VVQWc

I want to quickly apologize for not having the tutorial completed yet.
While I did complete an outline for the tutorial, when I went to record I realized that trying to explain out loud how to navigate the program and avoid certain bugs was an absolute nightmare. Instead, I opted to just make a lot of fixes to the program. There are still some confusing parts to the program so I will still need to make a video tutorial.

I'm also taking down the large zip file full of examples. Not only was it more full of errors than I previously realized, but it was never really meant to be for other people to see. On my computer, I used that folder to take note of fractals and settings that interested me for future reference.
In its stead I will be providing a much smaller set of examples that have been generated with the new version of the program.

Note: If a program uses cMod2, set the generator to slow mode and make sure the quality matches. If you want to increase the quality, first follow the settings and generate the fractal, then switch to fast mode and set your desired quality level. I have an idea for a workaround for this, but it has not yet been implemented.

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

Changes and Fixes:

- Name changes to settings.

- Tidied up the user interface. It's still not optimal, but it's a start.

- Completely new settings files, with settings ordered by tab and where they appear in the program.

- In the "Other" tab, you can set the maximum number of threads the multithreaded portions of the program can use. By default it detects the maximum number your computer can handle.

- Press "Ctrl + Shift + C" to load the colors from the current Color Index into the Custom Color List.

- Press "Shift + C" to append the colors from the current Color Index into the Custom Color List.

- No more Test Banks. The Test Indexes from Test Bank 1 have been moved:
"1 0" -> 200
"1 1" -> 201
"1 2" -> 202
"1 3" -> 203
"1 4" -> 204
"1 5" -> 205

- Orb Trails. Must pre-compute 10 frames in order to make the animation loop consistent.

- "DE: 0" is now functional. Its settings are on the "Other" Tab. While four settings are listed, I recommend only playing with "DE0 Threshold" for the time being.

- Data Validation is now in the program. When you hit "Enter" inside a text box or try to generate a fractal, if you made any errors you will get a readout in the command prompt of where the problems are. Only four text boxes do not yet have data validation:

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

1. Background Color:
Rules:
- There must be three integers.
- Each integer should be between 0 and 255.
- No commas allowed at this time.

Examples:
57 200 203
0 0 0


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

2. Custom Function List:
Rules:
- You may include as many function indexes as you like, but do not use functions listed in the "Custom Function Incompatibility List" included in the zip folder.
- One 'L' MUST be included somewhere in the list, but it MUST NOT be the final item in the list.
- No commas allowed at this time.

Examples:
L 8 5 22 16
474 L 5
22 34 L 12 12 22

Explanation:
This is a list of function indexes.
The 'L' stands for "Lockout". Each pixel performs the functions listed before the 'L' ONLY on the first iteration. After the 'L', the program performs 1 function per iteration. When it reaches the end of the list, it goes back to the function immediately after 'L'.

So if you have "43 36 L 7 22 22 8", this is what the program would do:
Iteration 1: 43 36 7
Iteration 2: 22
Iteration 3: 22
Iteration 4: 8
Iteration 5: 7
Iteration 6: 22
Iteration 7: 22
Iteration 8: 8
Iteration 9: 7
Iteration 10: 22
Iteration 11: 22
Iteration 12: 8
Iteration 13: 7
(etc.)


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

3. Custom Color List:
Rules:
- This is a list of RGB Colors.
- You may include as many colors as you'd like.
- Each color consists of three integers.
- Each integer should be between 0 and 255.
- Commas between each set are optional but recommended.

Examples:
58 207 255, 78 255 186, 180 157 100
0 0 0, 247 100 250


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

4. Custom Light Location
- This is a 3D coordinate.
- Represents the location of the light when "Light Engine" is on.
- Must include three numbers.
- No commas allowed at this time.

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

- Orb Transformations. Still not fully implemented into the program, but there is partial functionality. Also, it doesn't render the last frame in the animation (oops). In order to use this you need to create a list of fractals.
-- Press the "I" key to add the current fractal on the "Main" tab to your list.
-- Press "Ctrl + Shift + I" to clear your list.
-- At least 1 Fractal should be on your list.
-- The animation length is multiplied by the number of Fractals in your list. So if you set "Number of Frames" to 50 and you have 3 Fractals, the program should render 150 frames. (Except because it doesn't make the last frame it will only make 149. Again, oops.)
-- Make sure to set "Radius Max" to 1.0. The transformation acts weirdly if it is set lower (it is 0.8 by default).


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

I still very much need to make a video tutorial since very little of this program is self-explanatory. I want to say that I can make it this weekend but I think I'm going to be busy.

All suggestions and criticisms are welcome. Also, if there's a function you'd like me to include in the Function List, let me know.
Logged
Gerson
Forums Freshman
**
Posts: 18


« Reply #9 on: October 19, 2017, 03:45:57 PM »

I tried to use new version (Fractal Generator - 9-30-2017 C) but it doesnt work. I have instaled java 8 update 131 (64-bit).
When I doble click on mu analysis in Fractal Generator - 9-13-2017 C, it create the image on main tab, the new version not.
There are some comand to load parameter file?
I suggest you add a status bar with % of image generation if it takes long time to render.
I liked very much images I saw in example file.
Logged
HazardHarry
Forums Freshman
**
Posts: 14


« Reply #10 on: October 27, 2017, 06:16:12 PM »

I tried to use new version (Fractal Generator - 9-30-2017 C) but it doesnt work. I have instaled java 8 update 131 (64-bit).
When I doble click on mu analysis in Fractal Generator - 9-13-2017 C, it create the image on main tab, the new version not.
There are some comand to load parameter file?
I suggest you add a status bar with % of image generation if it takes long time to render.
I liked very much images I saw in example file.

Sorry it took me so long to respond. The past week and a half have been pretty busy. That's extremely weird that the program doesn't work. Are you getting an error in the command prompt? The only problem I can think of that would cause that is if the program can't either read or write the temp file. Here, try this latest build:
https://drive.google.com/open?id=0B4-OcX4x1ANwUEEyZ0hRcGQ2eTA

At the moment there is not a way to load parameter files, however I'm fairly close to completing that feature. Honestly it's something I should have completed a while ago, but I chose to work on other stuff.

It will probably be a while until the % loading bar is implemented. Before I started this project, I didn't understand multithreading. Now that I do, I realize that I made a horrible mistake in the way I organized my program. I need to do a major restructuring of the program. Until I complete that though, you can access a workaround by running the program though the command prompt:
Quote
1. Download the program (it is a .jar file).
2. Create a new folder and put the .jar file in it.
3. Open the Command Prompt.
   -To open it quickly, press the "Windows" key and the "R" key at the same time, then type "cmd" in the dialogue box that comes up and hit enter.
4. In the Command Prompt, type "cd" followed by a space. Do not hit enter.
5. Drag and drop the folder you created into the Command Prompt. Hit enter.
6. In the Command Prompt, type "java -jar", followed by a space.
7. Drag and drop the .jar file from the folder into the Command Prompt. Hit Enter.

If everything is done correctly, the program should run and you'll get progress readouts in the Command Prompt.
These instructions are for Windows only. If you're not running Windows, let me know what operating system you're using and I'll try to create the correct instructions for you.
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
endlos - A multithreaded fractal generator in Java Announcements & News « 1 2 3 » dentaku 32 25907 Last post March 30, 2007, 08:25:21 AM
by dentaku2
[URGENT] Somebody can help me develope fractal using java? Let's collaborate on something! maknyosss 1 672 Last post June 20, 2009, 04:18:34 PM
by David Makin
Flame fractal in Java Programming paxinum 0 3126 Last post July 08, 2010, 05:47:24 PM
by paxinum
Collaborate on my Fractal project in Java Let's collaborate on something! reddev 0 3403 Last post October 26, 2010, 12:10:43 PM
by reddev
Fractacular ... a freeware Java generator with multiple algorithms Fractal Programs ChristopherLowe 1 9432 Last post October 16, 2011, 05:41:27 AM
by ChristopherLowe

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.227 seconds with 29 queries. (Pretty URLs adds 0.01s, 2q)