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, 12:57:17 PM


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 3 [4] 5   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: Fractal eXtreme  (Read 62381 times)
Description: very fast and very deep
0 Members and 3 Guests are viewing this topic.
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #45 on: February 26, 2012, 11:18:24 AM »

Panzerboy

In relation to your post (#40) and the snakebrot you created, can we have the plugin for that to explore, as it looks like there could be some detail worth zooming in on.

Simon
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #46 on: February 26, 2012, 02:36:51 PM »

Hi Panzerboy.

I've just changed my formula to the following:

Code:
smf-test-03b {
  z = p = (0,0) - pixel
  i = flip(imag(p))+imag(p)
  r = flip(real(p))+real(p):
  z = z * z + i - r
  |z| < 4
  }

The resulting shape is:



which I think is the same as the one you created.  The only difference is in the lines which create the variables i and r.

In the original formula, the real part of the complex pixel is assigned to the real part of the complex variable r, with the imaginary part left at 0, and the imaginary part of the complex pixel is assigned to the real part of the complex variable i, with the imaginary part left at 0.

In the modified formula above, the real part of the complex pixel is assigned to the real and to the imaginary part of the complex variable r, and the imaginary part of the complex pixel is assigned to the real and to the imaginary part of the complex variable i.

In your code for the plugin, the lines that assigns to zi may have to have everything after * 2.0 removed.

Hope that works.

Simon
« Last Edit: February 27, 2012, 10:40:38 AM by simon.snake » Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #47 on: February 27, 2012, 01:33:04 PM »

Just a thought, but a third-order variety for the fxabsmandvar plugin would be super-easy to create just by editing the source code for the original plugin. HPDZ uploaded a third-order burning ship at one point, which I was shocked to find out it had strait dendrites in it, something unheard of for third-order mandelbrots. Th third-order Burning ship really has a beautiful symmetry to it and would make a lovely addition to the Fractal Extreme library.

In fact, I thought of two separate varieties. Although I'm familiar with the complex math involved, for simplicity and readability sake, I'm not writing out the Zi and Zr components to the equation. absi() means the abs function is applied to the i component; absr() is applied only to the real component; absri() is applied to both.

Standard 3rd order absmandvar:
Burning Ship: Z1=absi(Z^3)+C
Celtic: Z1=absr(Z^3)+C
Buffalo: Z1=absri(Z^3)+C

Hybrid 3rd order absmandvar:
Burning Ship: Z1=absi(Z^2)*Z+C
Celtic: Z1=absr(Z^2)*Z+C
Buffalo: Z1=absri(Z^2)*Z+C

I have absolutely no idea what kind of bizzare fractals these "hybrid" 3rd order variations would produce. I'll need to experiment with creating custom formulas in UF but I don't know how to create fractal presets from scratch. I'm not much good at writing code, but I could take a stab-in-the-dark at editing the source. Is there any free or open C compiler that builds DLLs which are compatible with 64-bit windows? I really don't feel like clunking down a wad of cash for something I'll probably only play with once or twice.
« Last Edit: February 27, 2012, 02:47:16 PM by stardust4ever » Logged
panzerboy
Fractal Lover
**
Posts: 242


« Reply #48 on: February 28, 2012, 12:28:34 PM »

Just to let you folks know, I'm not ignoring the requests.
I'm just having problems with the High Precision versions going blank on me.
Got some bug somewhere.
Logged
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #49 on: February 28, 2012, 12:46:36 PM »

Hi Panzerboy

I've installed Microsoft Visual C++ Express Edition and the Microsoft Windows SDK V7.1 and using your source merged into the sample plugin I have attempted to compile a plugin in 64-bit, but I get an error about afxwin.h not being found.  I have downloaded and am about to install the Windows Driver Kit which includes the MFC files so hopefully I will be able to compile 64-bit plugins soon.

Any other hurdles to consider?  I don't know if all this Microsoft bloat will cause my laptop to have a coronary but it's the only choice I have if I want to develop 64-bit plugins as well.  I don't know if it's going to work, so I'll post update when all this finishes.

Simon
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #50 on: February 28, 2012, 03:59:44 PM »

As promised, an update on my progress.

I couldn't install the full windows driver kit, so I only installed parts of it, and after configuring library and include directories to include all the new files that are required, I was able to compile the absmandvar source you supplied.  Now, I have to try to compile my formula.  Here I go!
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #51 on: February 29, 2012, 12:00:21 AM »

Just to let you folks know, I'm not ignoring the requests.
I'm just having problems with the High Precision versions going blank on me.
Got some bug somewhere.
Panerboy, in case you didn't see them, I posted some follow-up posts to some of my previous discussion in the plugins thread. Rather than post the same info twice, I'll just link to it:
http://www.fractalforums.com/fractal-exteme/anyone-know-about-other-plugins-available/msg43099/#msg43099
Logged
panzerboy
Fractal Lover
**
Posts: 242


« Reply #52 on: February 29, 2012, 03:28:40 AM »

Hi Panzerboy

Any other hurdles to consider?  I don't know if all this Microsoft bloat will cause my laptop to have a coronary but it's the only choice I have if I want to develop 64-bit plugins as well.  I don't know if it's going to work, so I'll post update when all this finishes.

Simon

I've got your formula working. Just setting up a Sourceforge project for it now.
Express Edition doesnt do 64 bit, and the 32 bit produced dlls that crashed when the last fractal window using my plugin was closed.
It also prevented and ordinary mandelbrot fractal window being opened, unless there was a window using my plugin.
So you can certainly experiment with Express Edition, and if you willing to put up with 32bit that crashes.
But VS Pro is really the only way to go, just its US$ 799 ouch! Maybe cheaper for Students?

Logged
panzerboy
Fractal Lover
**
Posts: 242


« Reply #53 on: February 29, 2012, 03:44:28 AM »

Simon Snakes's Plugin available now on Sourceforge.
http://sourceforge.net/projects/fxsnakebrot/files/?

I've left in a couple of my attempts becuase they look kind of interesting.
Theres also Burning Ship, Celtic and Buffalo variants where these are not simply a rotation.



* SnakeBrot.jpg (9.86 KB, 512x288 - viewed 431 times.)

* Misunderstood.jpg (9.14 KB, 512x288 - viewed 417 times.)

* PanzerSnake.jpg (10.63 KB, 512x288 - viewed 474 times.)
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #54 on: February 29, 2012, 08:19:13 AM »

I've got your formula working. Just setting up a Sourceforge project for it now.
Express Edition doesnt do 64 bit, and the 32 bit produced dlls that crashed when the last fractal window using my plugin was closed.
It also prevented and ordinary mandelbrot fractal window being opened, unless there was a window using my plugin.
So you can certainly experiment with Express Edition, and if you willing to put up with 32bit that crashes.
But VS Pro is really the only way to go, just its US$ 799 ouch! Maybe cheaper for Students?
Why is it that you have to use MS Visual C++? In  perfect world, any C compiler could be used to compile any C source on any platform. I tried to install MS Visual C++, but the installer stopped because I didn't have 2.3Gbytes of free space on the C-drive on my 5-and-a-half years-old 32-bit Core Duo Windows XP laptop that I use for school. It has an 80Gb harddrive, but I stuffed it with junk because I tend to be a pack-rat. So I downloaded Bloodshed C++ compiler from Sourceforge so I could at least read the source code of the FX plugins. The download was only 2.4Mb, so you have to wonder what kind of bloatware Microsoft must have included that makes it nearly 1000 times larger.

I know I'm gonna sound ancient when i say this, but I took a QBASIC class as a kid in the early ninties, and back then, you had a single .BAS file, which could be run directly within QBASIC, or compiled directly into a DOS executable. I look at the source files, and there's .H, .CPP, .LIB and other file types. What do they all mean? If I try to install Visual Basic Express on my large 64-bit rendering machine, what steps do i need to take to compile? And what would happen in I tried to compile the plugin with an open-source compiler, like Bloodshed or something else? I didn't even see a "compile" option in the file menu. If the C++ programming language is based upon a documented, standardized instruction set, then why can't all C++ compilers conform to a predefined standard so that anybody can compile any source using any compiler for any platform?

I know it doesn't work that way, but in a perfect world, it should. Sorry for derailing. head batting
Logged
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #55 on: February 29, 2012, 11:04:00 AM »

Panzerboy

Well done.  I'm on a learning curve with this too.  You say that Express Edition doesn't do 64 bit.  Well, I've been researching online and I've managed to integrate the SDK and WDK into EE and it now allows me to compile in 64-bit.  Trouble is I still had the same issue you had where it crashes when closing, so I suspect I've done something wrong somewhere, but I'm still learning as I go along.

I've now got several more fractals to explore in Fractal eXtreme.  This will keep me going for weeks.

As they say, you learn from your mistakes, and boy, I've made a few too.  The plugin I created didn't look like either of our initial versions, so maybe this one could be included too.  The code I used was yours from post at #40 with the  + origzi - origzr removed from the assignment to zi (everything after * 2.0 removed).

It's about time more formulas were made available to Fractal eXtreme as, no offence to Bruce from Cygnus Software who appears to be a nice chap, even he could have spent just a few hours gathering together some formulas and creating a plugin to extend the software as it appears users haven't managed to do so up to now.)

Thanks, and I'll look forward to exploring all these new fractals.

Simon
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
panzerboy
Fractal Lover
**
Posts: 242


« Reply #56 on: February 29, 2012, 12:22:53 PM »

Why is it that you have to use MS Visual C++? ...

Short answer I don't know. I quite the newbie to C++. But I can make some educated guesses.

At the top of the calc.cpp and calc_fixed.cpp files it includes stdafx.h, thats a MFC header file.
Microsoft Foundation Classes are C++ classes that wrap over the Windows API in a C++ way, ie classes and methods instead of C structures and function calls.
That's a Microsoft owned technology, perhaps it wouldn't be legal for any one else to implement a MFC lookalike.
Perhaps you don't need MFC for these calculation routines I tried removing the stdafx.h but got undeclared reference messages IIRC.

Using a non-microsoft C compiler would most likely have a different calling convention.
http://en.wikipedia.org/wiki/X86_calling_conventions
So If you can find a way around MFC you've still got the problem of MSVC++ (Fractal Extreme) calling functions that may use the stack and registers differently.
There's probably some guru out there that's written some assembly workarounds for this, I haven't found any in my non-exhaustive search.

MSVC++ is the path of least resistance.
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #57 on: March 01, 2012, 10:31:41 AM »

Simon Snakes's Plugin available now on Sourceforge.
http://sourceforge.net/projects/fxsnakebrot/files/?

I've left in a couple of my attempts becuase they look kind of interesting.
Theres also Burning Ship, Celtic and Buffalo variants where these are not simply a rotation.
There seems to be an issue with your Snake Plugins when the precision jumps from floating point to high-integer. I made a video of the Misunderstood Buffalo, which kinda resembles Kermit the Frog. The eyes are like some type of weird circle-packing fractal. I set the bailout value to 8 because at 2 it clips the fractal. The processor used is an AMD Bulldozer with 64 bits math.
<a href="http://www.youtube.com/v/LFt2pTH_LGA&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/LFt2pTH_LGA&rel=1&fs=1&hd=1</a>

The aesthetic of these plugs is a little odd as they seem to be lacking of increasing complexity at greater zoom depths, and they seem to be like a desert mostly devoid of minis. I enjoy finding the minis in the Mandelbrot and the abs variations, and though the disconnected abs versions look vastly different to the Mandel, they behave in a similar manner. In several of the new "snake" fractals when I zoom to an inflection point, the precision becomes insufficient in some cases, much like the centroid of a Julia zoom.


* Misunderstood Buffalo Kermit the Frog.png (108.88 KB, 640x480 - viewed 630 times.)
« Last Edit: March 01, 2012, 10:42:50 AM by stardust4ever » Logged
panzerboy
Fractal Lover
**
Posts: 242


« Reply #58 on: March 01, 2012, 02:07:56 PM »

I get a "this video is private" when I try to play the Misunderstood Snake Buffalo.
But I think I know what you mean.
I kept the bailout at 2 and zoomed in to that area until the precision changed.
No problem, changed the bailout to 8 and after the switch to 128 the truncated version appeared.
The high precision version must be defaulting back to 2 for the bailout somehow.

Okay found it in calc_fixed.c

   //for (/**/; count < MaxIters && zrsqr + zisqr < OverFlowPoint; count++)
   // We ignore the user-specified overflow point because supporting that adds
   // significant complexity, and potentially some tricky numerical analysis.
   for (/**/; count < MaxIters && !(zrsqr + zisqr).Overflow(); count++)

In highprecmath.h the overflow method of HighPrecMath math class of which zrsqr and zisqr are objects is defined.

   // Do an unsigned comparison against an overflow amount. Doing an unsigned
   // comparison buys one extra bit of precision and is safe because we only
   // call this against the sum of two squares.
   bool Overflow() const
   {
      CheckPadding();
      return m_data[m_precision-1] > FixedElement(4) << (kShiftPerElement - kIntegerBits);
   }

What Bruce is doing here is avoiding converting the floating point bailout value to a fixed point integer.
There would be several steps involved in this which you don't want to be doing each iteration.
It would be simple enough for me to create a Overflow(FixedElement bailout) method,
ie where I pass an integer bailout value

   bool Overflow(FixedElement bailout) const
   {
      CheckPadding();
      return m_data[m_precision-1] > FixedElement(bailout) << (kShiftPerElement - kIntegerBits);
   }

This would be marginally inefficient as I'd have to cast the bailout to an intfor each pixel calculated rather than once when the precision changed from floating point to High precision.
Hmmm, or perhaps I could use the constructor, only called once?
Don't really know much about constructors and destructors, have some learning to do.
It would also be limited to integer bailout values ignoring anything after the decimal point,
that shouldn't be a problem for you.
Ironically Bruce has been blogging about floating point and representing as integer recently.
The real fix will need to decode the 32bit and 64bit floating point formats.
Now in C I'd use the sprintf and sscanf functions to do the floating point to text and back to integer conversion.
looks like thats still available in C++.


I left the various attempts and experiments in the plugin because, why not?
I haven't done much exploring on them but yes the look quite disconnected and thus wont create 'macro-structures?'

BTW I haven't forgot about your request for Cubic Burning ship.
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #59 on: March 02, 2012, 07:26:25 AM »

I get a "this video is private" when I try to play the Misunderstood Snake Buffalo.
But I think I know what you mean.
My appologies. When I uploaded the video, I accidentally clicked "private" when I meant to specify "unlisted." Because I was still logged into my youtube account, it showed up fine on my end. I didn't want a bunch of junk cluttering my youtube profile. The link should now work fine for everyone.

I left the various attempts and experiments in the plugin because, why not?
I haven't done much exploring on them but yes the look quite disconnected and thus wont create 'macro-structures?'

BTW I haven't forgot about your request for Cubic Burning ship.
I never said I didn't like them, but there doesn't seem to be a real incentive to zoom deeper into the fractal. What I find is mostly sameness. The "Kermit" effect on the Buffalo fractal with the rings of circles was a fascinating twist. But there are a number of fractals outside the scope of the classic Mancelbrot set that benefit from higher bailout values. Usually if that happens, I just input a 4, 8, or some larger integral power of 2. On the custom "Hidden Mandelbrot" formula by Bruce, I used "1024" because the default bailout value of "2" clipped out a lot of the spider web material. Also, a larger bailout can also change the shape of the iteration bands, especially in the needle area. Would simply truncating the bailout to an integer value and discarding the fractional portion solve the problem?

Thank you for considering the Cubic Burning Ship (as well as Celtic + Buffalo). I played around with the Burning ship plugin in UF5, and the third power definitely has a beautiful symmetry to it, which is not repeated though higher orders. FX is just light-years faster than UF5, hands down. Attempting to render videos in other slower software apps (eg, the single-threaded, 16-bit Fractint) reminds me of the Pitch-Drop Experiment:
http://en.wikipedia.org/wiki/Pitch_drop_experiment
« Last Edit: March 02, 2012, 08:32:44 AM by stardust4ever » Logged
Pages: 1 2 3 [4] 5   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Fractal extreme iteration data Help & Support kjknohw 12 1785 Last post October 12, 2013, 12:31:24 PM
by panzerboy
Fractal eXtreme zoom movie crashes on playing... Fractal eXtreme simon.snake 9 8727 Last post September 13, 2013, 02:49:32 PM
by Kalles Fraktaler
Fractal eXtreme fast rendering Announcements & News SeryZone 0 4665 Last post September 23, 2013, 09:21:15 PM
by SeryZone
Installed lots of plugins and now Fractal eXtreme crashes Plugins simon.snake 5 2860 Last post October 14, 2013, 10:56:43 PM
by simon.snake
Fractal eXtreme data's General Discussion SeryZone 5 4103 Last post January 07, 2014, 11:47:11 AM
by panzerboy

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.245 seconds with 26 queries. (Pretty URLs adds 0.017s, 2q)