% Week 1 Progress Report % Abdulmajed Dakkak % June 13th, 2008 Most of the time spent this week was spent to get acquainted with how the REU lab works, how some of the facilities and tools are used, and understanding the concepts/topics presented by the various speakers. A considerable amount of time was devoted to understanding OpenGL --- by programming with it. We decided to pursue learning OpenGL early on because (from our understanding) most projects require some understanding of OpenGL. Programming =========== A few programs were written in OpenGL. Most are simple, although interesting. The first program [triangle.c] written in OpenGL demonstrates the rotate function. The second program [fly.c] demonstrates the use of the transform (or displacement) function provided in OpenGL. The third program was written in python (for the sake of its hash table) and demonstrated the rule based cellular automation described (famously) in automation. While it's called [rule30.py], modifying the rules hash table changes the cellular automation computed. Since we were not satisfied with the python program, we rewrote the rule 30 cellular automation in C and named it [rule30.c]. Then, based on [rule30.c], we wrote a program to draw the mandelbrot fractal [mandelbrot.c]. The fractal is quite interesting, since this the first time I attempted to color points based on how many iterations it takes to converge. Finally, an attempt to write the buddhabrot fractal was futile, although our attempt is present in [buddhabrot.c]. Projects ======== After listening more about the project options, I am convinced of one or two projects. The first project is quite simple and might take a day or two. The project entails translating the igl program that has a red ball rotating around a torus into opengl. I hope that this program will introduce me to lighting in OpenGL, as well as how motion is conducted. The second project relates to `CUDA`, although it is not clear at this moment what this project will accomplish. I do, however, want to use the wiimote for at least one project, or help another person figure out how to use it. [triangle.c]: code/triangle.c [fly.c]: code/fly.c [rule30.c]: code/rule30.c [rule30.py]: code/rule30.py [mandelbrot.c]: code/mandelbrot.c [buddhabrot.c]: code/buddhabrot.c