<h1>Perspective Projection: My First Lesson towards Computer Graphics</h1> As an architect, I have never thought about the principle behind when I was modeling in Rhino, SketchUp, Revit, etc. This is a series of articles while I am learning the [[📺CMU 15-462 Computer Graphics| ]] [CMU 15-462 Computer Graphics](https://www.cs.cmu.edu/~kmcrane/Projects/DDG/) by Prof. [[Keenan Crane| ]] [Keenan Crane](https://www.cs.cmu.edu/~kmcrane/index.html). The idea behind projection can see as coordinate transformation. I set the camera position as a point on this curve and its projection vector targets at $(0,0,0)$. Hence, the coordinates of objects projected can be mapped to the plane defined by the vector of <font color=green>green</font>, <font color=red>red</font>, and <font color=blue>blue</font>. The 2D-version of the points on the plane can be denoted as $u,v$. The following animation is created by a Grasshopper script. ![[gh-rotating-camera-along-a-curve.gif]] Left: Drawing the lines in top-view Right: The animation path