I have made a program to take a set 3D coordinates and project them onto a 2D space. In order to do this, the program needs to know the position of the camera relative to the world space, the position of the viewer relative to the camera space, and the orientation of the camera space in the world space expressed as extrinsic Tait-Bryan angles.
I plan on using this program to facilitate a variety of 3D graphing tools.
Sample output:
The program uses a transformation matrix to first transform a point in the world space into the camera space, and then uses some other formulae to transform the points from camera space into a 2-dimensional projection.
In order to simplify the user settings, the camera orientation angles are calculated from a point that the camera is looking to in the world space. By subtracting this point from C, the program obtains a vector parallel to the camera z-axis. Because the camera orientation is represented by extrinsic rotations, the camera can be properly oriented with only two calculations if the camera x-axis is assumed to be parallel to the world space xy-plane.
More information to come later when I find my notes
I plan on using this program to facilitate a variety of 3D graphing tools.
Sample output:

The program uses a transformation matrix to first transform a point in the world space into the camera space, and then uses some other formulae to transform the points from camera space into a 2-dimensional projection.
In order to simplify the user settings, the camera orientation angles are calculated from a point that the camera is looking to in the world space. By subtracting this point from C, the program obtains a vector parallel to the camera z-axis. Because the camera orientation is represented by extrinsic rotations, the camera can be properly oriented with only two calculations if the camera x-axis is assumed to be parallel to the world space xy-plane.
More information to come later when I find my notes
