An Introduction to Object-Oriented Programming in C++: with Applications in Computer Graphics