First project: Fractal Editor
I have three projects I worked on at AI on my resume. The second one listed is a real time fractal editor. I did most of the fractal generating code one term, and then I took an independent study to improve that code and add a Winforms UI (I had not learned WinAPI yet, maybe someday I will move the project to use WinAPI as Winforms is outdated).
The fractal drawing system is recursive. In the editor, you can place ending lines, permanent lines and motif lines. Motif lines are the core of how fractals work. For the first iteration, it places the motif lines on drawing space. For each subsequent iteration, it takes the current setup of motif lines in editor space and grafts it onto each existing motif line in drawing space, rotating, scaling, and mirroring the setup according to the existing motif lines. You are then left with a new set of motif lines, and the process continues. Permanent lines are drawn at every iteration. When the drawing size gets to small or the final iteration is reached, it draws the final ending lines.
The final program supports loading and saving, and is weakly multithreaded (in a very simple way in C#, just so that the whole program doesn't lag as it draws). You can zoom in pretty far before the floating point precision limitations become a problem. I went on Wikipedia and recreated as many of the fractals I could find as I possibly could.
Edit: link updated with newest version, with a minor bug fix. If the program doesn't work on your computer, download the Visual C++ 2015 Redistributables here:
There's still problems with the program not working on some computers. I'm looking into this.
UPDATE 2/28/2017: After reinstalling Windows 10 on my laptop, I redownloaded my program and found that it crashed with no error. This gave me another opportunity to figure out the solution to this problem. After using Event Viewer to confirm that the problem is a missing file and learning to use Dependency Viewer, I isolated the problem to my system missing MSVCP110.DLL and MSVCR110.DLL. Further research indicated that these DLLs were part of the Visual C++ 2012 Redistributables.
If the program still doesn't work on your computer, download Visual C++ 2012 Redistributables here:
Make sure to get the x86 version, I'm not sure if the x64 version will fix it.