{"id":336,"date":"2012-08-31T18:19:47","date_gmt":"2012-08-31T17:19:47","guid":{"rendered":"http:\/\/www-ma2.upc.es\/vera\/?page_id=336"},"modified":"2020-08-31T12:13:41","modified_gmt":"2020-08-31T11:13:41","slug":"geometric-tools-for-computer-graphics","status":"publish","type":"page","link":"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/","title":{"rendered":"Geometric Tools for Computer Graphics-MIRI"},"content":{"rendered":"\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><p><strong>Master in Innovation and Research in Informatics (MIRI)<\/strong><br>Departament de Matem\u00e0tica Aplicada II<br>Facultat d&#8217;Inform\u00e0tica de Barcelona<br>Universitat Polit\u00e8cnica de Catalunya<\/p><p> <\/p><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"has-text-align-center has-black-color has-pale-pink-background-color has-text-color has-background has-normal-font-size\"><strong>Warning! <\/strong><br>Since I retired in August 2020, this page is obsolete. The updated web page for this course can be found here: <a href=\"https:\/\/dccg.upc.edu\/courses-gtcg\/\">https:\/\/dccg.upc.edu\/courses-gtcg\/<\/a><\/p>\n<\/div><\/div>\n\n\n<address><strong>\u00a0<\/strong><\/address>\n<blockquote>\n<ul>\n<li><a href=\"#goals\">Goals<\/a><\/li>\n<li><a href=\"#contents\">Contents<\/a><\/li>\n<li><a href=\"#activities\">Activities<\/a><\/li>\n<li><a href=\"#evaluation\">Evaluation<\/a><\/li>\n<li><a href=\"#general-info\">General information<\/a><\/li>\n<li><a href=\"#material\">Material for the course<\/a><\/li>\n<li><a href=\"#references\">References<\/a><\/li>\n<li><a href=\"#further\">Further resources<\/a><\/li>\n<li><a href=\"#thesis\">Thesis, grants, and projects<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<hr \/>\n<p><a name=\"goals\"><\/a><\/p>\n<h3>Goals<\/h3>\n<p>This course has been designed to provide students with the mathematical geometric tools most ubiquitously used in computer graphics.<\/p>\n<p>By the end of the course, students should be able to:<\/p>\n<ul>\n<li>Use and manipulate affine coordinates (homogeneous or not).<\/li>\n<li>Compute distance and angular measures.<\/li>\n<li>Describe and control linear objects.<\/li>\n<li>Describe and control parametrized curves and surfaces.<\/li>\n<li>Locate a given geometric object in the desired position in space, using different techniques.<\/li>\n<\/ul>\n<hr \/>\n<p><a name=\"contents\"><\/a><\/p>\n<h3>Contents<\/h3>\n<ol>\n<li>Basics of affine and metric geometry\n<ul>\n<li>Vectorial spaces.<\/li>\n<li>Affine spaces. Coordinate systems. Affine varieties in dimensions 2 and 3.<\/li>\n<li>Euclidean spaces. Distances and angles. Projections. Cartesian coordinate systems.<\/li>\n<li>Changing coordinates.<\/li>\n<\/ul>\n<\/li>\n<li>Geometric objects\n<ul>\n<li>Linear objects.<\/li>\n<li>Curves in dimensions 2 and 3. Parametrizations. Rudiments of differential geometry of curves.<\/li>\n<li>Surfaces in dimension 3. Parametrizations.\u00a0Rudiments of differential geometry of surfaces. Intersections.<\/li>\n<\/ul>\n<\/li>\n<li>Affine transforms\n<ul>\n<li>Rigid motions, similarities and affinities.<\/li>\n<li>Using quaternions in rotations.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<p><a name=\"activities\"><\/a><\/p>\n<h3>Activities<\/h3>\n<p>The contents of the course being of mathematical nature, the activities associated with it are oriented accordingly:<\/p>\n<ul>\n<li>Theory \u00a0classes: aimed at presenting and discussing the geometric techniques included in the syllabus, they will be mainly conducted by the instructor.<\/li>\n<li>Problems solving classes: students will present and discuss their solutions to the problems that will have been posed in advance.<\/li>\n<li>Laboratory classes: \u00a0for the students to implement the\u00a0above mentioned\u00a0solutions to geometric problems. Emphasis will be put into implementing the geometric components of the solutions, while essentially avoiding graphics issues.<\/li>\n<li>Exam: in addition to the homework (problems solving and implementing), there will be a final written exam, mainly devoted to problems solving.<\/li>\n<\/ul>\n<p>The length of the course, together with its level, entail the need of some non irrelevant amount of student&#8217;s personal work. This includes exploring course topics beyond the material presented in class, proposing solutions to new problems and proving the correctness of the proposed solutions, and designing and carrying out their implementations.<\/p>\n<hr \/>\n<p><a name=\"evaluation\"><\/a><\/p>\n<h3>Evaluation<\/h3>\n<p>Along the course, students will get assigned some problems solving and implementing. This homework will be presented in class by the students, and revised by the instructor, giving as a result the homework component of the final grade (H). There will also be a final written exam, mainly devoted to problems solving, which will give the exam component of the final grade (E). The final grade (F) will be obtained by the following formula: F = max (E, (H+E)\/2).<br \/><a name=\"general-info\"><\/a><\/p>\n<hr \/>\n<h3>General information<\/h3>\n<p>The general information related to a specific semester of \u00a0the course (calendar, schedule, class rooms, evaluation, etc.) can be found at the <a title=\"FIB web page\" href=\"http:\/\/www.fib.upc.edu\/en\/masters\/miri\/syllabus.html?assig=GTCG-MIRI\" target=\"_blank\" rel=\"noopener noreferrer\">FIB web page<\/a>. Announcements along the semester will be done at the <a title=\"FIB corner (Rac\u00f3)\" href=\"https:\/\/raco.fib.upc.edu\/cas\/login?locale=en_US\" target=\"_blank\" rel=\"noopener noreferrer\">FIB corner (Rac\u00f3)<\/a>. In this web page (which is always under construction) I will post some material for the course.<\/p>\n<hr \/>\n<p><a name=\"material\"><\/a><\/p>\n<h3>Material for the course<\/h3>\n<ul>\n<li>Linear algebra. Need to refresh it?\n<ul>\n<li>This is an elementary <a href=\"http:\/\/cataleg.upc.edu\/record=b1341789~S1\" target=\"_blank\" rel=\"noopener noreferrer\">linear algebra textbook<\/a>.<\/li>\n<li>And here is an elementary <a href=\"http:\/\/www.farinhansford.com\/books\/pla\/downloads.html\" target=\"_blank\" rel=\"noopener noreferrer\">linear algebra tutorial notebook<\/a> for <em>Mathematica<\/em>.<\/li>\n<li>This short text shows a nice application of linear algebra: <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/05\/matrius-jpg.pdf\">JPEG: A clever change of basis<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/GTCG-dealing-with-numbers-points-lines.pdf\">Dealing with numbers, points, and lines<\/a><\/li>\n<li>Conics:\n<ul>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/GTCG-symmetric-matrices.pdf\">Real-valued symmetric matrices always diagonalize<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/GTCG-conics.pdf\">Basics of conics<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/GTCG-pencils.pdf\">Impossible pencils<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Quaternions:\n<ul>\n<li>Comparing Foley &#8211; Van Dam&#8217;s and the quaternions methods: <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/Quaternions-Example_axis_111.pdf\">An example<\/a>.<\/li>\n<li>Comparing Foley &#8211; Van Dam&#8217;s and the quaternions methods: <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/Quaternions-axis-phi-theta.pdf\">General case<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li>Euler angles:\n<ul>\n<li>Computing Euler&#8217;s angles: <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/wp-content\/uploads\/2012\/08\/EulerAngles-Example_111.pdf\">An example<\/a><\/li>\n<li>Tait-Bryan angles\n<ul>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/aileron_pitch\/\">Pitch<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/aileron_roll\/\">Roll<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/aileron_yaw\/\">Yaw<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/rotations\/\">Local frame<\/a><\/li>\n<li><a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-tools-for-computer-graphics\/531px-plane\/\">Heading-elevation-bank<\/a><\/li>\n<\/ul>\n<\/li>\n<li>What is a gimbal lock and why it may be annoying? Take a look of <a href=\"http:\/\/youtu.be\/zc8b2Jo7mno\" target=\"_blank\" rel=\"noopener noreferrer\">this video<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li>Algorithms\n<ul>\n<li>See <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/courses\/geometric-algorithms\/\" target=\"_blank\" rel=\"noopener noreferrer\">this web page<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>References<\/h3>\n<p>Are you looking for a textbook containing most of what we will see in class?<\/p>\n<ul>\n<li>Joan Trias Pair\u00f3, <a href=\"http:\/\/cataleg.upc.edu\/record=b1234569~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Geometr\u00eda para la inform\u00e1tica gr\u00e1fica y CAD<\/a>, Edicions UPC, 2003.<\/li>\n<li>Gerald Farin, Dianne Hansford, <a href=\"http:\/\/www.farinhansford.com\/books\/pla\/\" target=\"_blank\" rel=\"noopener noreferrer\">Practical Linear Algebra: A Geometry Toolbox<\/a>, A. K. Peters Ltd., 2005.<\/li>\n<\/ul>\n<p>Are you interested in reading what computer graphics people consider to be the mathematical tools useful for their work?<\/p>\n<ul>\n<li>Eric Lengyel, <a href=\"http:\/\/cataleg.upc.edu\/record=b1230734~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Mathematics for 3D game programming and computer graphics<\/a>, Charles River Media, 2002.<\/li>\n<li>Max K. Agoston, <a href=\"http:\/\/cataleg.upc.edu\/record=b1288071~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Computer graphics and geometric modeling<\/a>, Springer, 2004.<\/li>\n<\/ul>\n<p>Do you want to learn more about differential geometry on curves and surfaces?<\/p>\n<ul>\n<li>Manfredo Perdig\u00e3o do Carmo, <a href=\"http:\/\/cataleg.upc.edu\/record=b1006373~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Differential geometry of curves and surfaces<\/a>, Prentice-Hall, 1976.<\/li>\n<li>Dirk Jan Struik, <a href=\"http:\/\/cataleg.upc.edu\/record=b1074703~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Lectures on classical differential geometry<\/a>, Dover Publications, 1988.<\/li>\n<\/ul>\n<p>Do you want to learn more about geometric algorithms?<\/p>\n<ul>\n<li>Mark de Berg et al., <a href=\"http:\/\/cataleg.upc.edu\/record=b1326857~S1\" target=\"_blank\" rel=\"noopener noreferrer\">Computational geometry: algorithms and applications<\/a>, Springer, 2008.<\/li>\n<\/ul>\n<p>Do you need help with SAGE?<\/p>\n<ul>\n<li><a href=\"http:\/\/www.sagemath.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Official web page of the SAGE project<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><a name=\"further\"><\/a><\/p>\n<h3>Further resources<\/h3>\n<ul>\n<li>Mathematical text editor<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">Mathematical edition is almost always and everywhere done using LaTeX. Not only it is used in universities (LaTeX has been used to write all the documents of this course, and probably all the problems lists, exams, and other mathematical texts that you had in your hands during your previous studies) but it is the most extended editor of scientific texts (LaTeX is used to write all the textbooks of scientific publishers as important as Springer, and also most of the mathematics and computer science conferences around the world).<\/p>\n<p style=\"padding-left: 30px;\">It&#8217;s a free source software that has versions for all operating systems (Linux, Mac, Windoxs, etc.), it helps writing all sort of scientific texts, such as articles, books and presentations, while it allows to incorporate figures previously produced in PDF by any drawing program.<\/p>\n<p style=\"padding-left: 30px;\">You can download LaTeX from <a href=\"http:\/\/www.tug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.tug.org\/<\/a><\/p>\n<p style=\"padding-left: 30px;\">References:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Introductory text: L. Lamport, <em><a href=\"http:\/\/cataleg.upc.edu\/record=b1097622\" target=\"_blank\" rel=\"noopener noreferrer\">LaTeX, a Document Preparation System<\/a><\/em>, Addison-Wesley, 2nd ed., 1994.<\/li>\n<li><a href=\"http:\/\/www.latex-project.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">The LaTeX project site<\/a>.<\/li>\n<li><a href=\"http:\/\/en.wikibooks.org\/wiki\/LaTeX\" target=\"_blank\" rel=\"noopener noreferrer\">The LaTeX wikibook<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">For those of you who work on windows, WinEdt is a very convenient editor for writing LaTeX code. You can download it from <a href=\"http:\/\/www.winedt.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.winedt.com\/<\/a><\/p>\n<ul>\n<li>Drawings<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">Each person likes preparing his\/her figures with his\/her favorite drawing program. I use IPE (an evolution of xfig designed by a computational geometer), because it allows me to draw the geometric figures that I need, because it integrates text in LaTeX, and because it allows me to also prepare my presentations in a very easy what-you-see-is-what-you-get way. It&#8217;s a free source software that has versions for all the operating systems (Linux, Windoxs, Unix, etc.).<\/p>\n<p style=\"padding-left: 30px;\">You can download IPE from <a href=\"http:\/\/ipe.otfried.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ipe.otfried.org\/<\/a><\/p>\n<ul>\n<li>Geometric constructions<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">In addition to producing your own drawings, you may wish to create and experiment with geometric constructions. If so, I recommend GeoGebra: <a href=\"http:\/\/www.geogebra.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.geogebra.org\/<\/a><\/p>\n<hr \/>\n<p><a name=\"thesis\"><\/a><\/p>\n<h3>Thesis, grants, and projects<\/h3>\n<ul>\n<li>Are you interested in doing your Masther Thesis in related to geometry? <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/tesis-de-grau-i-de-master-i-projectes-fi-de-carrera\/\">Have a look!<\/a><\/li>\n<li>Are you interested in working in a geometric project? <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/teaching\/grants-beques\/\">Have a look!<\/a><\/li>\n<li>Are you interested in doing your PhD in Computational Geometry? <a href=\"https:\/\/dccg.upc.edu\/people\/vera\/research\/beques-doctorals\/\">Have a look!<\/a><\/li>\n<li>Do you want to know what our Research Group does? <a href=\"https:\/\/dccg.upc.edu\/\" target=\"_blank\" rel=\"noopener noreferrer\">Look here!<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Master in Innovation and Research in Informatics (MIRI)Departament de Matem\u00e0tica Aplicada IIFacultat d&#8217;Inform\u00e0tica de BarcelonaUniversitat Polit\u00e8cnica de Catalunya Warning! Since I retired in August 2020, this page is obsolete. The updated web page for this course can be found here: https:\/\/dccg.upc.edu\/courses-gtcg\/ \u00a0 Goals Contents Activities Evaluation General information Material for the course References Further resources&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":41,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-336","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/pages\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/comments?post=336"}],"version-history":[{"count":83,"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/pages\/336\/revisions"}],"predecessor-version":[{"id":1821,"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/pages\/336\/revisions\/1821"}],"up":[{"embeddable":true,"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/pages\/41"}],"wp:attachment":[{"href":"https:\/\/dccg.upc.edu\/people\/vera\/wp-json\/wp\/v2\/media?parent=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}