Search

Filter

  • Advanced Filters:

  • to
  • Specific Data Sources:

    All Edit

    Select All  |  Select None

Reset filters

Learning Computer Graphics by Programming: Linking Theory and Practice Vladimir Nodelman Academic Institute of Technology 52 Golomb St., P.O.B 305 Holon 58102 Israel +972-9-7749851 nodelman @ hait.ac.il ABSTRACT One of the problems in teaching and studying Computer Graphics is actual linking between theory and practice: theoretical issues are complex and difficult to visualize while using programming techniques like OpenGL without a deep understanding of the theoretical basis prevents from exploiting the full potential of these powerful aids. Existing Computer Graphics courses are varying from pure theory, via using ready programs for demonstrations and illustrations up to systematic use of programming elements as the important component of a course. This presentation describes the implementation of two of these strategies, used by the author is his computer graphics courses, in order to enhance the links between theory and practice Figure 1. Shading and visual efficiency: pros and cons 2.SYSTEMATIC USE OF PROGRAMMING ELEMENTS Currently we are using Windows with OpenGL and Visual C++. Students on the first lesson get acquainted with skeleton of dialog-based application that supports OpenGL. Afterwards they work with this template during the entire course. Such approach eliminates the necessity at transition from one theme to other to distract from a subject matter on studying small changes and/or additions to the known code. Real graphics programming has not only applied value. With its help it is possible to explain difficult questions of the course, to underline the qualitative moments of the studying matter. Programming enables to introduce such elements of the contents which otherwise would be not clear. While programming, students see the organic dependence of different topics. As a base example of a spatial figure we use the 0<=x,y,z<=l cube. Already here we prepare the subject of "color cube". At studying transformations we introduce cube animation, GUI to control its position etc. While studying clipping we pay the students attention to a way of halfspace definition by normal's direction (we did not teach "lighting" yet, but the normal is already necessary for OpenGL engine). Naturally arises a problem of transition from "cutting" by a plane, provided by OpenGL techniques, to covering the cube's aperture by suitable polygon. Its vertices are calculated on the basis of studied algorithms. An additional task: to define the colors of vertices and to fill it by rules of colors distribution in color cube. The reasons, which are related to looking for linear dependences used in calculations, will be useful in the explanation of other theoretical issues. Few additional examples of other notions studying process will be provided in demo session. Categories and Subject Descriptors G.4 [MATHEMATICAL SOFTWARE]:User interfaces K.3.1 [Computer Uses in Education]: Computer-assisted instruction (CAI), Distance learning. G e n e r a l T e r m s : Design, Human Factors Keywords Computer Graphics, Visualization Learning, Theory, Programming, 1. USING READY PROGRAMS FOR DEMONSTRATION AND ANALYSIS OF THEORETICAL ISSUES Some of the complex theoretical issues are presented, visualized and explored using our VisuMatica, a program that was originally developed for mathematics teaching. This approach makes it much easier to deal with issues such as: barycentric coordinates, curves and surfaces defined analytically, shading, solid geometry operations and their mathematical nature, clipping by user defined plane, color as code in information visualization, normals and the problem of unilateral surfaces representation etc. Copyright is held by the author/owner(s). ITiCSEV3, June 30-July 2, 2003, Thessaloniki, Greece ACM 1-58113-672-2/03/0006.

Page 1 of 1

Page 1 of 1

Toggle back to continuous viewing mode

/lp/association-for-computing-machinery/learning-computer-graphics-by-programming-linking-theory-and-practice-zdA0c0fciO
Welcome to DeepDyve! Rent Premier Research Articles and Save Up to 90%

Learn more

Free Article

Bookmark

Learning computer graphics by programming: linking theory and practice

Nodelman, Vladimir
ACM SIGCSE Bulletin , Volume 35 (3)
Association for Computing MachinerySep 1, 2003

More Info

More Like This Article

View All dataSource[]=actageo&dataSource[]=aspet&dataSource[]=aaos&dataSource[]=aacc&dataSource[]=aacr&dataSource[]=aea&dataSource[]=aip&dataSource[]=ajnr&dataSource[]=ams&dataSource[]=aps_physical&dataSource[]=appi_book&dataSource[]=appi_journal&dataSource[]=apha&dataSource[]=asip&dataSource[]=asm&dataSource[]=asn&dataSource[]=aspb&dataSource[]=avs&dataSource[]=annual_reviews&dataSource[]=arxiv&dataSource[]=acm&dataSource[]=berghahn&dataSource[]=cabi&dataSource[]=clinical_trials&dataSource[]=dailymed&dataSource[]=degruyter&dataSource[]=du_press&dataSource[]=esa&dataSource[]=eu_press&dataSource[]=elsevier&dataSource[]=emerald&dataSource[]=ejtr&dataSource[]=emea&dataSource[]=epo&dataSource[]=faseb&dataSource[]=gsa&dataSource[]=health_affairs&dataSource[]=hindawi&dataSource[]=imanager&dataSource[]=imedpub&dataSource[]=informa_healthcare&dataSource[]=informs&dataSource[]=iop&dataSource[]=iucr&dataSource[]=iospress&dataSource[]=jbjs&dataSource[]=leftcoast&dataSource[]=lu_press&dataSource[]=mesharpe&dataSource[]=mary_ann_liebert&dataSource[]=medline&dataSource[]=mit_press&dataSource[]=nature&dataSource[]=oxford&dataSource[]=pier_professional&dataSource[]=pnas&dataSource[]=portlandpress&dataSource[]=psyc_articles&dataSource[]=psyc_books&dataSource[]=psyc_critiques&dataSource[]=plos_journal&dataSource[]=pubmed_central&dataSource[]=rsna&dataSource[]=rockefeller&dataSource[]=rcn&dataSource[]=ria&dataSource[]=rsc&dataSource[]=sage&dataSource[]=spie&dataSource[]=springer_journal&dataSource[]=springer&dataSource[]=taylor_francis&dataSource[]=aps&dataSource[]=the_scientist&dataSource[]=uc_press&dataSource[]=uspto_abstract&dataSource[]=wiley&dataSource[]=pct

Browse: Subject Areas | Journals | Publishers

Sign Up for a DeepDyve Account

Bookmark an Article

To bookmark an article, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Subscribe to Journal Email Alerts

To subscribe to email alerts, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Thank you for renting with DeepDyve

Your PayPal account has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

Your credit card has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

OK

New! You can now keep track of new articles from ACM SIGCSE Bulletin on your personalized homepage! Learn more

PDF Download — Not Available

Thanks for your interest in purchasing the PDF. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for purchasing with DeepDyve

Your PayPal account has been charged $.

Your credit card has been charged $.

You can now download this article. A purchase receipt has also been sent to your email address.

Download This Article or I'm done with my download

Print Page — Not Available

Thanks for your interest in printing individual pages. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for printing with DeepDyve

Your PayPal account has been charged $0.

Your credit card has been charged $0.

You can now print this article. A purchase receipt has also been sent to your email address.

Print the Selected Pages or I'm done with my printing

Please refresh to generate a new download link

Your article download link has expired. Please refresh this page to obtain a new download link and try again.

Follow a Journal

To get new article updates from a journal on your personalized homepage, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK