Logo by Cyclops - 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. January 17, 2019, 05:00:45 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] 2   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: FractView  (Read 5783 times)
Description: New app for Android with support for custom functions
0 Members and 1 Guest are viewing this topic.
searles
Alien
***
Posts: 22



« on: February 21, 2013, 01:18:54 PM »

I have implemented an application for Android phones called FractView. There are already a lot of viewers/generators for fractals, in particular the Mandelbrot Set in Android but I missed some features in them and included these in my application:

You can enter your own formula. I even added support for derivations, so that it is sufficient to enter "newton(z^3-1)" for z(n+1) to get the corresponding newton fractal. It also supports nova-fractals in a similar way.

For colors, I use Palettes with cubic spline interpolation using the L*a*b color model. They can be freely edited.

The source code is available under GPLv3, so naturally I did not include ads and it is free.

I would appreciate feedback, and also, if you have some parameters that generate nice fractals, tell me, I will include them in a manual.
Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #1 on: February 21, 2013, 03:21:59 PM »

Great app, thank you and congrats! (I think I'm the first user cheesy )

Some more features would be great:
- log smooting values before coloring (coloring according ln(escapetime) not escapetime)
- pause calculation, recoloring when paused
- first- and secound ciclois test for Mandelbrot
- how can I input Birning Ship and Burning Bird fractal equations?

Regards

Logged
searles
Alien
***
Posts: 22



« Reply #2 on: February 21, 2013, 06:07:06 PM »

Congratulations cheesy (edit: for being the first user)

And thanks for the compliment.

Tricorn: sqr conj z + c
Burning Ship: sqr(abs zr + i abs zi) + c
Is this one Burning Bird? sqr(zr + i abs zi) + c

z(0) is 0 for all of them.

Don't forget to use different powers: (zr + i abs zi)^3 + c
And when using pinch to zoom, use three fingers to shear, so that you don't miss out these julia islands in the burning ship fractal.

Also thanks for the suggestions. I actually use Log smoothing (log nrIter + 1 + smoothing factor); but I plan to customize this in some later version.
I will look into the other suggestions soon.
« Last Edit: February 21, 2013, 06:08:37 PM by searles » Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #3 on: February 21, 2013, 06:18:24 PM »

hello and welcome to the forums, how does the burning bird look like huh?
Logged

---

divide and conquer - iterate and rule - chaos is No random!
bkercso
Fractal Lover
**
Posts: 220



« Reply #4 on: February 22, 2013, 08:08:31 AM »

Yes, thats it, thank you!

More suggestions:
1) if calculated a fractal save into memory the iteration value NOT the colorized (smooted) value. Then program would recolor the fractal fast if I choose another colorization function. "Method" function would be in "Bailout Palette" menu instead of "Bailout" menu...
2) Also don't recalculate the fractal if I choose another palette or length of palette
3) Function "pause of calculation" would be desired for less used battery capacity if I not use the program for a while (after selecting a new area and already calculated a part of it)
4) after zooming keep the resolution of already calculated place while recalculation, not create large rectangles (like in Fractiod app)
5) if I tap the fractal with one finger accidentially don't recalcute it, only if I hale it min. 10% of it's image dimension
6) (I can't set coloring gradient in convergent areas with palette length parameter) OK, it's in "Lake Palette"! smiley
7) If run other app while calculating, and then click FractView's icon it starts on reseted Mandelbrot and lost my calculated fractal...
8 ) And I'm waiting for bookmarks function! cheesy
9) Save my functions also would be great.
10) Preset functions (burning bird and ship smiley )
11) save own palettes
12) preset color palettes
13) if it is possible, save coordinates, function and coloring info into .png's tag information or header (color palette itself doesn't have to save). After that in a new "Open fractal" menu I could open the image and app load the fractal for continue the exploration.

Great program anyway, 3-finger usage is amazing! My new favorite after Fractoid for inner coloring fractal generation: http://www.fractalforums.com/new-theories-and-research/a-new-look-into-escapetime-fractals-using-abs-and-inner-coloring/
(FractView images later...)

Waiting for update!
« Last Edit: February 22, 2013, 10:21:29 AM by bkercso » Logged
searles
Alien
***
Posts: 22



« Reply #5 on: February 22, 2013, 11:04:37 AM »

Burning bird is the last fractal here: http://fraqtive.mimec.org/features, called 'sitting bird'. [how do I add images in this forum?]. I would rather call it 'begging dinosaur' wink

@bkercso Can you provide me with resources for first- and secound ciclois test for Mandelbrot? Thanks a lot for your suggestions.

1) This is not so easy because you would have to save the entire orbit (like for SumExp or SumDelta) for each pixel which is not possible.
But 2, 4 and 5:
I plan to add caching so that only certain portions of the image would be recalculated (for instance moving, changing colors, changing colorization of
only the lake or the escaping orbits; scaling is more difficult and might not be possible in a satisfying way).

3) This is something I would like to keep the way it is, because usually the OS reduces the thread priority of background apps, so
they don't consume that much power, and furthermore when you calculate an image that takes a long time, you might just quickly check
some emails and then want to look back whether rendering is already done (this is also why I always show the "Calculation finished"-message).

6)Yes, that's a bit confusing and it's a compromise for devices with lower resolutions where the Palette does not fit next
to the Lake-settings. But I will make it more user-friendly and put length into the Bailout/Lake-menu. Makes way more sense.
 
7) This is caused by Android that kills applications if it needs memory. Afaik the only solution to this would be to always run
it in foreground with a status icon (like an MP3-player). I am thinking about various other solutions for this problem like
saving the last fractal that was rendered. This would be addressed together with the bookmarks.

9, partly 10, 11, 12) These I would combine with the bookmark menu. I am thinking of something like a 'Pick from bookmarks'-button inside the dialogs which might be the least confusing way to do it. But this will take some time.

10) I actually plan having something like "phoenix, mandelbrot, burning ship, custom" in a list. This I will address in some later update, where I also plan support for custom colorizations. I will also add easy support for julia-sets with this, but this will take some time. But I will add an abs-function and a sgn-function that makes it easier to enter burning ship-alike fractals (have to find good names for those...)

13) This would be nice, true. I am not sure how to do this yet (afaik in PNG this is not possible, but it should be possible to put it as capture in the gallery?)

So, thanks a lot, again for this exhaustive list. It really is extremely helpful smiley
Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #6 on: February 22, 2013, 11:28:25 AM »

You can add image: upload somewhere and put link between (se image button here).

Mandelbrot Main cardioid- and period2 circle test described in wikipedia article, in "Optimizaton" chapter (end of the article):
http://en.wikipedia.org/wiki/Mandelbrot_set

13) I solved this in my fractal generator program with save a .txt when saving .png with the same name. Every info about fractal and coloring is in the text file.
Another way is pixel-coding info in the image itself. smiley

My pleasure if you make a personalized fractal app for me! cheesy
For benchmarking please check Fractiod! This little app is really cool!
« Last Edit: February 22, 2013, 02:19:48 PM by bkercso » Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #7 on: February 22, 2013, 12:21:48 PM »

14) Oversampling: if I find a nice patterns and want to higher quality I would start oversampling: 1 more point calculation for each pixel. Not restart calculation but continue this. And after - if I want to - add 3rd point oversampling, up to 9. (Some patters in special places require even 16 or more calculated points/pixel.)
« Last Edit: February 22, 2013, 02:20:33 PM by bkercso » Logged
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #8 on: February 22, 2013, 02:35:51 PM »

Heya, interesting discussion here!

I'm curious about the L*a*b colour model you used, any particular reasons for using this over eg HSV? I use the latter in Chaotica's palette editor.
Logged

searles
Alien
***
Posts: 22



« Reply #9 on: February 22, 2013, 04:33:16 PM »

My goal was to have as natural gradients as possible. For some time I favored something like YUV, but after some research L*a*b seemed to be the best choice. I did some comparison with RGB and the result is way better.
I did not pick HSV mainly for the reasons that its parameters do not really represent natural perception (for instance the lightness of 0,1,1 =red differs a lot from 270,1,1 = blue), and when interpolating the h-parameter you have to choose whether to go left or right. For instance, when interpolating from red to cyan, you either can choose the way via yellow and green, or via blue and purple. In both cases, lightness changes in the gradient (via blue it becomes quite obvious, it becomes very dark and then brighter again), and small changes in the parameters can have big effects (if the cyan is a bit more greenish you'd get a gradient via yellow, if it's more bluish, via blue).
Still I use HSV for the color picker because it's imo the most user friendly way (try to pick some shade of gray with an RGB-color-picker on a mobile device...).
Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #10 on: February 23, 2013, 02:37:03 PM »

15) The 3 slider at color palette menu are too close to each other, I sometimes tap which I did't want to.
16) Relative colors: automatcally set palette length after pre-calculation of acual zoomed area
17) Reset fractal zoom
19) Bug: when palette length displayed as 0.0E0 formula I cannot edit mantissa
« Last Edit: February 24, 2013, 02:03:11 PM by bkercso » Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #11 on: February 25, 2013, 09:21:04 AM »

Here are some inner coloring images. These are founded in non-divergent islands, rendered with LastArc Lake-function. (With inner coloring method higher iteration number resulting more details on picture.)


Burning ship:






















Burning bird:











« Last Edit: February 25, 2013, 10:06:02 AM by bkercso » Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #12 on: February 25, 2013, 09:37:50 AM »

I found that SumExp and SumDelta methods reach their limit earlier than LastArc method. At deeper zooms I cannot get color gradients with SumExp and SumDelta while LastArc I get:

Deep zoom (approx. 1E-8 but I don't know exactly):
SumExp:


SumDelta:


LastArc:



Deeper zooms (~5 times larger):
SumExp:


SumDelta:



At less deep zoom it is not a problem:
SumExp:


SumDelta:


LastArc:
« Last Edit: February 25, 2013, 09:41:14 AM by bkercso » Logged
searles
Alien
***
Posts: 22



« Reply #13 on: February 25, 2013, 06:35:34 PM »

Nice pics, I never looked at the inside of Burning Ship. It is not a big surprise that LastArc allows deeper zooms than Sum* since in Sum* values of the orbit are summed so that also small rounding mistakes add up more. Also again big thanks for your suggestions. It's really great to have someone else's eye on usability and features.
Logged
bkercso
Fractal Lover
**
Posts: 220



« Reply #14 on: February 25, 2013, 08:58:38 PM »

Thanks. You can find more pics here:
http://www.fractalforums.com/new-theories-and-research/a-new-look-into-escapetime-fractals-using-abs-and-inner-coloring/
In my program I used 1/SumRelativeDelta method and I can make zoom of 1E16 times with 20 digits variables.

Your welcome! (I can' wait out the bookmarks function. cheesy )
« Last Edit: February 25, 2013, 09:10:40 PM by bkercso » Logged
Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
New Version/Reimplementation of Fractview Smartphones / Mobile Devices « 1 2 » searles 17 1753 Last post March 24, 2016, 09:44:05 AM
by searles

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.141 seconds with 28 queries. (Pretty URLs adds 0.013s, 2q)