130 likes | 147 Views
Learn the theoretical foundations and practical algorithms for 3D modeling, graphics, and animation. Develop research habits, sharpen problem-solving skills, and master key concepts in geometric and visual computing. Suitable for students interested in graphics, animation, games, and CAD.
E N D
CS6491 Theoretical Foundations and Practical Algorithms for 3D Modeling, Graphics, and Animation Prof. Jarek Rossignac • Objectives • Instructor • GVC areas • Syllabus • Grading • Texts • Projects • Web site Turn cell phones off Close laptops/PDAs, unless you need them to take notes. No email, chat, surfing, games... Take copious and detailed notes Ask for clarification right away No private conversations, please!
Course objectives and philosophy • Master key foundations of 3D modeling, graphics, animation • Become familiar with currenttechniques and tools • Become comfortable with the mathematical underpinnings • Understand why things are done this way • Internalize these concepts so that they are second nature • Develop research habits • Develop intuition • Sharpen algorithmic problem solving skills • Learn critical thinking and mathematical rigor • Learn how to ask questions and how to answer them • Develop Research ethics • Practice communication and teamwork skills • Develop a taste for Geometric & Visual Computing
Audience This course is for students interested in research, teaching, or R&D careers in graphics, animation, games, CAD. No prior knowledge of graphics is expected. Knowledge of geometry Linear algebra. Vectors, lines, planes, triangles, circles, intersections. Software skills Processing or Java or C++ Software development and debugging Imagination Solutions to hard problems, elegant implementation Scientific rigor Proofs, justifications, methodology
Interference Silhouettes T=T+T+T Sweeps Compression 3D morphs Blends Simplification Jarek (“Y-ah-r-eh-ck”) Rossignac (Rossignol + cognac)http://www.gvu.gatech.edu/~jarek • Maitrise M.E. & Diplome d’Engenieur ENSEM (Nancy, France) • PhD E.E. in Solid Modeling (U. of Rochester, NY) • IBM TJ Watson Research Center (11 years) • Senior manger: Visualization, Modeling, Graphics, VR • Visualization: Managed IBM Data Explorer (DX) product R&D • Simplification: 3D Interaction Acceleration (3DIX), OpenGL Accelerator • Geometry compression: VRLM, MPEG-4, awards (ACM TOG) • Georgia Institute of Technology (since 1996) • Professor, College of Computing, School of Interactive Computing • Director of GVU Center, 1996-2001 • Compression: Edgebreaker, Awards (IEEE TVCG) • Collaborations: Korea, Spain, Italy, Emory, BME
Geometric and Visual Computing areas • Computer Aided Geometric Design (CAGD): Curves/surfaces • Solid Modeling: Representations and Algorithms for solids • Computer-Aided Design (CAD): Automation of Shape Design • Computer-Aided Manufacturing (CAM): NC Machining • Reverse Engineering: Fitting surfaces to scanned 3D points • Computational Geometry: Provably efficient algorithms • Finite Element Meshing (FEM): Construction and simulation • Animation: Capture, Design, Simulation of shape behavior • Visualization: Graphical interpretations of (large) 3D or 4D datasets • Rendering: Making (realistic) pictures of 3D geometric shapes • Image-Based Rendering (IBR): Mix images and geometry • Computer Vision: Reconstruction of 3D models from images • Robotics: Compute motions amongst obstacles, manipulate them • Virtual Reality (VR): Immersion in interactive environments • Augmented Reality (AR): Track and mark-up what you see
Specific focus of the course • S.L.T. : Space (shape), Light (color), Time (animation) • 3D modeling (“geometry”) • Representations of 3D shapes (voxels, riangle meshes) • Construction techniques (subdivision, isosurfaces) • Algorithms (containment, intersection, volume, distances) • 3D graphics (“photometry”) • Projective shading and raserization (OpenGL) • Light propagation: Photorealistic rendering • Image-Based Rendering • 3D animation (“kinemetry”) • Motions, collisions, physic-based simulation • Deformations and warps • 3D Morphing
Syllabus ( ≈ 1 week modules ) • 01 - Graphic Systems • 02 – Geometry • 05 – Curves • 03 – Topology • 04 – Arrangements • 06 – Animation • 07 – Morphology • 08 – Triangulation • 09 - Mesh processing • 10 - Light, perception • 11 – Photorealism, NPR • 12 - Graphics pipeline • 13 - Image-based rendering • 14 - Acceleration techniques • 15 - GPU shaders and advanced effects
Grading Policy • 50% Projects • 20% Midterm (closed books) • 30% Final
Reference books (suggested) Primary sources • Computational Geometry: Algorithms and Applications. By de Berg, van Kerveld, Overmars, Schwartzkopf. • Efficient algorithms for convex hulls, Delaunay, Booleans, medial axis… • Advanced Animation and Rendering Techniques: Theory and Practice. By Watt & Watt. • Nice overview of graphics, plus advanced material on animation and rendering Additional graduate books • Computer Graphics and Geometric Modeling: by David Salomon • Advanced modeling/rendering. Suitable for both graduates and undergraduates • Mathematics for Computer Graphics Applications: An Introduction to the Mathematics and Geometry of Cad/Cam, Geometric Modeling, Scientific visualization: by Mortenson • Warping and Morphing of Graphical Objects (with Cdrom): by Gomes, Darsa, Velho • Subdivision Methods for Geometric Design: A Constructive Approach: by Warren, Weimer Undergraduate texts if you need to catch up • Fundamentals of Computer Graphics. By Peter Shirley • Great (detailed) introduction to geometry and rendering • Computer Graphics: Principles and Practice: Second Edition in C, Foley, van Dam, Feiner, Hughes, 1996. • A classic. Comprehensive.
Projects guidelines and deliverables • Several projects (some in small teams, some individual) • Ethics • It is OK to look at previous solutions (posted, published, or provided for class) • Not OK to copy from other students or teams • Cite clearly all sources of inspiration for your code and your write-up • Working in teams • Work together (same time and space) on all aspects (do not split the job) • Learn from each other and lear how to negotiate and collaborate • Make sure that you each contribute much more than your share • Deliverable report (mini research paper) • Concise, formal (title, authors, date, class, problem statement, refs…) • Demonstrate in-depth understanding of a topic • State problem, context, prior art • Exlpain clearly the nature of your solution and provide details where needed • Submit as web page with text, images, videos • Deliverable code • Processing (or other) applet linked from your Personal Project Page (PPP) • Explain what you have implemented, how, and why • Explain what does not work and why (suggest possible fixes) • Short and simple source code (points for elegance and conciseness) • Comments (original, clear, useful)
Web site for the course http://www.gvu.gatech.edu/~jarek/6491 • Schedule • Projects, solutions • Test dates • List of topics (that you need to know) http://www.gvu.gatech.edu/~jarek/graphics • Slides • Reading • Links • Resources
Strategy for success • Attend all classes and pay close attention • Take detailed and comprehensive notes of what I and other students write, draw, or say • Work on these notes, clean them up, mark what needs clarifications, bring them when you meet me at my office hours • Make sure that you understand everything ASAP! • Carefully read notes and all material provided. • Search additional information in books or on the web. • Do all proposed exercises • Ask questions in class or at the beginning of the next class. • Work in small study groups and explain the stuff to others. • Come and talk to the TA or to me during office hours. • Make sure that I know: you, what you know, that you care
Expected amount of work per week • Study your notes, handouts and additional material: 2 • Right after class • Preferably in teams • Prepare cheat sheets with important results • Allowed to use 1 page on the midterm and 2 on the final • Do practice exercises: 1 • Try doing them individually • Then compare/discuss solutions with team members • Work on projects: 5+ • Start right away and work hard at the beginning • Ask me for clarification in class • Ask TA for help • For team projects, work together on all aspects