物件導向幾何建模
Object Oriented Geometric Modeling
| 節 | 週五 |
|---|---|
2 09:00–09:50 | 物件導向幾何建模 3 節連堂 |
3 10:10–11:00 | |
4 11:10–12:00 |
* 根據陽明交大上課時間表所列
The knowledge of geometric modeling is developed along with the computer graphics for computer-aided design and manufacturing (CAD/CAM). Many software based on geometric modeling methods are readily available in both the academia and industry. This course is intended to further investigate (1) the formulations of various geometric entities that are embedded in these packages, (2) object-oriented programming (OOP) method (Visual Studio C++) to construct the geometric model, and (3) computer graphics knowledge to render these entities. The content of the teaching will cover the subjects below, but may skip some depending on the progress of the class. 1. Mathematical Techniques: matrix, explicit & implicit functions, ... 2. Object Oriented Programming with C++ (or Python): inheritance, encapsulation, ... 3. Computer Graphics: coordinate transformation, viewing, windows, ... 4. Curves: algebra & geometric form, parametric space, 4-point, Bezier, composite, ... 5. Surfaces: parametric space, 16-point, 4-curve, ruled, Bezier, composite, ... 6. Solids: Algebra and Geometric form, parametric space, composite, ... 7. Analytic Property: intrinsic, minimum distance, ...
(1) English – Reading (2) Calculus and Algebra (3) must have programming experience (C, C++, Python, etc.), Object-Oriented Programming (OOP) a big plus.
LAB MATERIAL 1. Visual Studio C++ 2. OpenGL with C++ if necessary (*) Service to this class (as teamwork contribution) will be rewarded with extra points (學生之班級服務貢獻將可作為課業成績之加分考量) (*) Teacher has the unlimited right to adjust student’s final score at teacher’s full discretion (任課教師有評定成績之最後決定權, 包含 加分/減分) Note 1: In-Class practice and communication are strongly suggested for better learning. Note 2: Submit Homework assignment to TA. Late submission of the assignments is not allowed. Note 3: Homework assignments must be done and written by each student himself or herself unless otherwise notified. Duplicating, copying homework from other student(s) is not allowed. Note 4: "Midterm" or "Final" could be either a written test or a project
Tentative (subject to change during semester) 1. Participation, Homework, Quiz 30 % 2. Midterm Test or Project 30 % 3. Final Exam or Project 40 %
- Object Oriented Programming and Computer Graphics Class/Object, Encapsulation, inheritance, polymorphism, Coordinate transformation, rendering, etc.
- Curves
- Surfaces
- Solids
- Analytic Properties
- Midterm
- Final
- Mathematical Techniques
| 週次 | 主題 |
|---|---|
| 第 1 週 | 1. Overall View Syllabus 2. Visual Studio C++ exercise 3. basics, "Hello World" |
| 第 2 週 | 1. Visual Studio C++ Basic & exercise 2. issue HW1 |
| 第 3 週 | 1. Visual Studio C++ Basic & exercise 2. issue HW2 |
| 第 4 週 | 1. Visual Studio C++ class & exercise 2. Example 3. issue HW3 |
| 第 5 週 | 1. Visual Studio C++ class & exercise 2. OpenGL setup & exercise 3. ontinue HW3 |
| 第 6 週 | 1. OpenGL parabola for 2D mapping 2. show colored cube, rotation, conic curve (helix) 3. practice OOP on 2D parabola and upload class sample 4. issue HW4 |
| 第 7 週 | 1. Quiz#1 2. Hermite curve practice OOP on Hermite 3. show and give HW5 6. issue HW5 |
| 第 8 週 | (1) end Hermite Curve (2) start Bezier Curve (3) practice OOP on Bezier (4) issue HW6 |
| 第 9 週 | (1) Bezier curve (2) midterm (written test + programming) |
| 第 10 週 | (1) midterm (2) review midterm (written, programming) end Bezier Curve (3) issue HW7 |
| 第 11 週 | (1) B-Spline, periodic curve, matrix form (2) practice OOP on uniform B-spline (3) issue HW8 |
| 第 12 週 | (1) uniform b-spline, (2) Hermite Surface (3) plane, cylindrical, ruled surface (4) issue HW9 |
| 第 13 週 | (1) Bezier Surface (2) color painting on 3D cube (3) practice 3D cube in class (4) explain final project (5) issue HW10 |
| 第 14 週 | (1) B-Spline Surface (2) Surface normal vector, color painting by normal vectors (3) demo final project (4) issue HW11 |
| 第 15 週 | (a) Tricubic, Bezier, B-Spline Solids (b) Solids by linear transformation, parameterization, sweeping, deformation, and degeneration (c) demo final project (4) in-class practice |
| 第 16 週 | student's final project presentation and evaluation |
| 第 17 週 | Q&A and review after final |
| 第 18 週 |
1. Geometric Modeling by Michael E. Mortenson, 3nd edition, 2006 2. Computational Geometry: Algorithms and Applications by O. Cheong, M. Kreveld, M. Overmars, 3rd edition, 2008 3. Absolute C++by Walter Savitch and Kenrick Mock, 6th edition, 2015 4. Beginning C++20 by Ivor Horton and Peter Van Weert, 6th edition 5. Computer Graphics Programming in OpenGL with C++, by V. Gordon and J. Clevenger, 2018
- 地點
- classroom office (NYCU EE5-444)
- 時間
- 1. before and after class time 2. by appointment
- 聯絡方式
- yearnhwang@nycu.edu.tw yearnhwang@gmail.com