Page 1 of 1

CF::MaxNatural doesn't seem to be working in Windows CLI

Posted: Sun Aug 31, 2014 9:19 am
by flembobs
When I try to render this image:

http://contextfreeart.org/gallery/view.php?id=3206

With the Windows CLI for Context Free the drawing does not complete properly.

E.g. http://imgur.com/1j89RdK

I can recreate this behaviour by commenting out the CF::MaxNatural line in the Context Free GUI so I believe there is an issue with this directive in the CLI version.

Using Windows 8.1 if that's any help.

I tried using a lower value for the CF::MaxNatural in my Context Free file but that doesn't seem to have helped.

Cheers!

Re: CF::MaxNatural doesn't seem to be working in Windows CLI

Posted: Tue Sep 02, 2014 8:57 am
by MtnViewJohn
When I comment out the CF::MaxNaturals line I get an error message because next+curr exceeded the default maximum natural number magnitude. I think that is a red herring.

The reason that the SPIRAL shape stops early sometimes is because it is unstable with respect to the small shape culling mechanism in the Context Free renderer. A typical design starts big and branches out to an infinite number of smaller and smaller shapes. Context Free culls shapes when they are subpixel in size. This allows CF to find a finite number of shapes that produces the same output bitmap as the theoretical infinite number of shapes.

Your Fibonacci Flower design is triggering small shape culling even though its shape count is finite and deterministic. I can produce the same output that you uploaded to imgur.com on Windows, Mac, and Linux if I ask for a 500x500 pixel output and set the minimum shape size to 0.3 pixels, which is the default for the Windows CLI build.

The solution is to disable small shape culling. You can do this by setting the minimum shape size to very, very, very small in the cfdg file:

Code: Select all

CF::MinimumSize = 0.0000001

Re: CF::MaxNatural doesn't seem to be working in Windows CLI

Posted: Tue Sep 02, 2014 10:41 am
by flembobs
That got it working, thanks. I overlooked CF::MinimumSize because it was working ok for me in the GUI, which I suppose would have a higher resolution.

Thanks for your help.

Here is the animated version of the design I was working on: http://gfycat.com/NecessaryNaturalFowl