Introduction to Computer Graphics: a practical learning approach