Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Thanks for the comments (I'm the author). I did a bunch of searching and couldn't find anyone else who has used these techniques. I'm sure someone will let me know if this has all been done before.

I haven't had much luck yet trying to randomly select branches; the image comes out terribly noisy. But a combination of fixed-depth and random might work; I'll give it a try.

Edit: in case anyone is wondering why I used C# for this... I started off all nice and open-sourcey using OpenGL, GLUT, C++, and Linux, but discovered that my graphics card locked up, a problem that might be fixed if I upgraded to the latest version of Linux. I decided not to spend my evening upgrading, so decided to use OpenGL on Windows instead. Rather than install the whole gcc envirnment, I figured I'd use the free Visual Studio C++ Express, which worked fine. However, it was difficult to get even a primitive UI with GLUT, so I figured I'd switch to Windows Forms, which lets me create simple dialogs easily. But it turns out that Visual Studio C++ insanely doesn't support Intellisense, which makes it very hard to use Windows Forms. So I decided to try C#, which is working out okay so far - it's extremely similar to Java. For the 3D fractal display (which I hope to finish soon), I was going to use DirectX, but discovered after a lot of investigation that it's been replaced by something called XNA. And to use that, I need the free Visual Studio 2010 Express for Windows Phone (which despite the name also works on the desktop). So far that seems to be working okay, but I may end up rendering the 3D fractals in POV-Ray or something.

Now that I write that down, it seems like I've tried a crazy number of different software stacks. Does anyone else end up doing this?



I use plain C and a small set of plotting functions I created to generate PPM images. If I were to create 3D stuff I'll probably settle for generating POV files automatically or something along this lines... But my usual thinking is: get it done. If it is open sourcey, better, if you need some proprietary stuff and you get it done (and it's for you!), what's the problem?

Also, Montecarlo things have this noisiness, comes with the algorithm :/ Usually it is a tradeoff: I have an algorithm that creates sharp images of bifurcation loci, but is awfully slow. If I turn on the randomness, it can go between 4 and 10 times faster, but the images are no longer sharp and crisp. The advantage is that adding this kind of "Montecarloing" is just adding a ?: condition in some for, together with a special flag and a mod operation: easy to do and no need to add nasty inner loops!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: