Preface
Studying Computer Graphics enhances the core competence in the designing and development of algorithms which are both computationally interesting and mathematically challenging. More and more people are interested in Computer Graphics because it has emerged as a vehicle for effective communication of business data as well as scientific visualization. At the same time it has become the backbone of the modern day entertainment industry. The phenomenal increase in man-machine interface is due to the ever-expanding implementations of smarter ideas in graphical design.
Indeed Computer Graphics constitutes a core area of studies in Computer Science. Inclusion of graphical designing as an unerring component of Computer Science is already an accepted norm. There are several good books on graphics that cater to an intended audience. Therefore, our enthusiasm for writing yet another book on graphics needs justification. Our motivation for this comes mainly from our experiences in teaching graphics and conducting researches in the related areas.
Although students excel in understanding Computer Graphics algorithms and we have also seen them solving complex numerical problems of graphics, however, they perform poorly while implementing the basic ideas of graphics and executing them successfully. This is especially true in the case of handling discrete coordinates on screen or in visualizing 3D shapes on 2D screen, in specific relation to the viewpoint position. There is a widespread need to teach the theory of Computer Graphics along with the methods of its seamless implementation. We believe that this particular book will fulfil this objective. Since we have explained relevant theories alongside their simple C implementation in this book, we are confident that it will be acceptable to a wide section of undergraduate and postgraduate students. The C programs of this book generate application by targeting the Windows operating system. Dislike it or love it¡ª we are in the Windows age and unless today¡¯s students are equipped with the know-how of Windows application¡ªespecially when we are studying a subject like Computer Graphics, they are likely to lose one of their finest sets of skill. The first chapter of the book introduces Windows programming and subsequent chapters deal with implementation of computer graphics algorithms with additional details of Windows programming as and when required.
Writing a book is considerably easy when you teach the subject. But, we are sure, it is hard for students to cope with the uncountable iterations and interpretations that authors keep on experimenting with, and which students have to accept without question, especially, in those cases where the implementation aspect of an algorithm is explained. We would however like to thank our students for their thoughtful challenges thrown at us over the years¡ªchallenges and questions that have helped us in reconstructing this manuscript. We are fortunate enough to be associated with the Institutes of national importance in India where they provide an environment in which instructors can complete a project of this nature. We would like to put
xi
on record our sense of gratitude to PHI Learning who readily agreed to our book-proposal and helped in streamlining the editorial and production work.
Last but not the least, both of us are indebted to our respective families for their constant support and encouragement without which we would not have been able to come this far. We will be happy if students get benefitted from this book. Please send your feedback to
graphics.algoimpl@gmail.com. For updates and errata, please refer to the website http://sites.google.com/site/graphicsalgoimpl.
D.P. Mukherjee Debasish Jana