Learning Journal Unit 1
Learning Journal Unit 1
This week was all about understanding the basics and applications of computer graphics. I
learned a lot from the reading materials and video lectures, which made the subject more
interesting and gave me a better idea of how computer graphics work in real life.
The reading assignments covered a wide range of topics. For example, Eck’s Introduction
to Computer Graphics explained how graphics systems function and how the 3D scene graph
API works in Three.js. This was new to me, and I found it exciting because I didn’t realize
how much effort goes into creating 3D visuals in games or animations.
I also read Guha’s chapters on OpenGL, focusing on transformations, viewports, and the
concept of the graphics pipeline. These sections were a bit challenging because they involved
technical terms like "model-view matrices" and "projection matrices," which I had to read
multiple times to understand.
The most surprising thing I learned was how transformations like scaling, rotation, and
translation work in 3D space. The concept of homogeneous coordinates was fascinating
because it allowed me to understand how computers handle these operations mathematically.
The video on perspective camera views by Udacity helped me visualize how objects
appear smaller as they move farther away from the camera. Similarly, the video on
orthographic camera views was helpful in understanding the differences in how scenes are
displayed without the perspective distortion. Both videos made complex topics easier to grasp
by providing visual examples.
One of the biggest challenges I faced was understanding rasterization, which I learned
from the MIT lecture notes on the graphics pipeline. The explanation of how pixels are filled
to create an image was a bit overwhelming. To overcome this, I searched for additional online
tutorials and found some simple examples that broke down the process step by step.
The programming assignment this week required us to use OpenGL and Repl.it IDE to
implement basic transformations and render a simple graphic. This was my first time using
Repl.it, and while it seemed user-friendly, I faced a few issues.
The first challenge was getting the OpenGL code to run correctly. Since OpenGL libraries
aren’t directly supported on Repl.it, I had to adapt the code and use WebGL instead. I
followed some tutorials and examples to understand the differences between the two, and this
made the assignment take longer than I expected.
Repl.it’s interface was easy to navigate, and creating an account was straightforward. The
platform’s autosave feature was helpful because I tend to forget to save my work often.
However, I had issues with debugging the code because the error messages were not always
clear. To solve this, I copied the code into another IDE (Visual Studio Code) and tested it
there before pasting it back into Repl.it. This helped me identify the errors more easily.
Sharing the assignment link with my instructor was simple. The share option in Repl.it
generates a link automatically, and I was able to submit it without any problems.
Overall, working with Repl.it was a mixed experience. While it is convenient for online
coding, it requires some workarounds for certain features like OpenGL integration.
>>>Final Thoughts
This week taught me the importance of patience and problem-solving. Computer graphics is a
complex topic, but it is also very rewarding. I now have a better appreciation for how 3D
scenes are created and manipulated.
For next week, I plan to practice more coding exercises, especially focusing on
transformations and the graphics pipeline. I also want to explore Three.js further, as it seems
like a powerful tool for creating 3D graphics.
This week was both challenging and rewarding. It helped me improve my technical skills
and made me more confident in tackling difficult topics.
References:
1. Durand, F. (n.d.). A short introduction to computer graphics. MIT Laboratory for Computer
Science. Retrieved from
http://people.csail.mit.edu/fredo/Depiction/1_Introduction/reviewGraphics.pdf
2. Eck, D. (2018). Introduction to computer graphics, v1.2. Hobart and William Smith
Colleges. Retrieved from
[https://www.cs.hws.edu/graphics](https://www.cs.hws.edu/graphics)
3. Guha, S. (2019). Computer graphics through OpenGL: From theory to experiments(3rd
ed.).
7. Udacity. (2015, February 23). Three.js orthographic camera view - Interactive 3D graphics
[Video]. YouTube. https://www.youtube.com/watch?v=k3adBAnDpos