Announcements | Course Outline | General Information | Lectures (Class-wise) | Study Materials |
This is a course of Four (4) credit.
It consists of Three (3) lecture hours per week and One (1) hour tutorial.
The basic thrust of the course would be to familiarize the students with the design and analysis of efficient algorithms for geometric problems, typically in low dimensions (2,3,..). Its goal is to make students familiar with the important techniques and results in computational geometry, and to enable them to attack theoretical and practical problems in various application domains. These problems arise in a wide range of areas, including CAD, VLSI, robotics, computer graphics, molecular biology, GIS, spatial databases and sensor networks.
We will try to stick to the basic course outline as given in Syllabus, but may deviate a bit.
Prerequisite: CS-212 (Design and Analysis of Algorithms).
Evaluation Process (Marks, Examinations, etc.): Class Work Sessional (CWS) = 25%, Mid-Term Exam (MTE) = 25%, End-Term Exam (ETE) = 50%.
CWS will be computed from a weighted sum of different components.
|
|
|
|
Lecture Topic |
|
---|---|---|---|---|---|
|
|
|
|
Introduction to Computational Geometry |
|
|
|
|
Euclidean Geometry: Basic Definitions, Jordan's Curve Theorem, Simple Polygons, Jordan's Polygon Theorem, etc. | ||
|
|
|
Planar Graphs, Polygons and Triangulation, Euler's formula | ||
|
|
|
|
PSLG vs simple polygon, Art Gallery Problem, Max-over-min formulation, Chvatal's conjecture |
|
|
|
|
Tutorial-1 for MTech & PhD |
|
|
|
|
|
Tutorial-1 for IDD |
|
|
|
|
|
Art-Gallery Theorem, Triangulation Theory, Area of a Polygon, Point Inclusion of a Polygon, Implementation Issues |
|
|
|
|
|
Triangulation Graph and Dual Graph, Fisk's Proof of Sufficiency, Monotone Polygons |
|
|
|
|
|
|
Polygon Partitioning into Monotone Polygons; Vertex Ontology; Plane Sweep Technique |
|
|
|
|
Tutorial-2 for MTech & PhD |
|
|
|
|
|
Tutorial-2 for IDD |
|
|
|
|
|
Polygon Partitioning into Monotone Polygons; Event Handling |
|
|
|
|
|
Triangulating a Monotone Polygon |
|
|
|
|
|
|
Tutorial-2 for MTech & PhD |
|
|
|
|
Tutorial-2 for IDD |
|
|
|
|
|
Triangulating a Monotone Polygon; Triangulating Simple Polygon: Diagonal-based Algorithm; Ear Removal Algorithm |
|
|
|
|
|
Partitioning Simple Polygon into Monotone Pieces: Plane-Sweep or Line-Sweep Algorithm; Triangulation of a Convex Polygon |
|
|
|
|
|
|
Polygon Partitioning: Trapezoidalization of a simple polygon; Plane-sweep algorithm; Partitioning into Monotone Polygons after Trapezoidalization |
|
|
|
|
Tutorial-3 for MTech & PhD |
|
|
|
|
|
Tutorial-3 for IDD |
|
|
|
|
|
Monotone Mountains; Partitioning into Monotone Mountains after Trapezoidalization; Triangulating a Monotone Mountain; Convex Partitioning; Constructing Simple Polygons |
|
|
|
|
|
Constructing Simple Polygons; Two measures of distance between two points:Euclidean and Manhattan; Data structure used in geometric algorithms: Doubly-Connected Edge Lists |
|
|
|
|
|
|
Convexity and Convex Hulls; Two Naive Algorithms: Discarding non-extreme points, Keeping Extreme Edges |
|
|
|
|
Tutorial-3 for MTech & PhD |
|
|
|
|
|
Tutorial-3 for IDD |
|
|
|
|
|
Hertel and Mehlhorn Algorithm for Convex Partitioning; Discussion on the tasks of CP-1 |
|
|
|
|
|
Convex-Hull Problem: Gift-Wrapping (Jarvis's March) Algorithm; Quick-Hull Algorithm |
|
|
|
|
|
|
Convex-Hull Problem: Graham's Algorithm; Lower-Bound of Convex-Hull Problem |
|
|
|
|
Tutorial-4 for MTech & PhD |
|
|
|
|
|
Tutorial-4 for IDD |
|
|
|
|
|
Convex-Hull Problem: Incremental Algorithm; Divide and Conquer Algorithm (Preparata & Hong, 1977); Extension of these Two Algorithms for Convex-Hull Problem in Three Dimensions |
|
|
|
|
|
Class Postponed (Will be compensated after MTE) |
|
|
|
|
|
|
Convex-Hull Problem: Incremental Algorithm with sorting; Idea of Chan's Algorithm (1993); Triangulation of Point Set: Theory; Triangulating a Point Set: Incremental Algorithm without sorting and with sorting, Graham's Algorithm, Divide & Conquer Algorithm |
|
|
|
|
Tutorial-4 for MTech & PhD |
|
|
|
|
|
Tutorial-4 for IDD |
|
|
|
|
|
Voronoi Diagrams: Definitions and Basic Concepts; Some Applications |
|
|
|
|
|
Class Postponed (Will be compensated after MTE) |
|
|
|
|
|
|
Mid-Term Examination (1:45 pm - 3:30 pm) @ LHC-205 |
|
|
|
|
|
Voronoi Diagrams: Definitions and Basic Concepts; Proof of Linear Complexity for Constructing Vor(P(n)) |
|
|
|
|
Demo of Coding Projects by MTech & PhD students |
|
|
|
|
|
Demo of Coding Projects by IDD students |
|
|
|
|
|
Voronoi Diagrams: Basic Properties, Proximity and Empty Circles; Constructing Vor(P(n)): Intersection of Halfplanes; Point-Line Duality; Convex Hull and Halfplane Intersection |
|
|
|
|
|
Constructing Voronoi Diagrams: Incremental Algorithm, Divide-and-Conquer Algorithm |
|
|
|
|
|
|
Constructing Voronoi Diagrams: Fortune's Plane-Sweep Algorithm |
|
|
|
|
Makeup Class (for 20-Feb-2015) Constructing Voronoi Diagrams: Fortune's Plane-Sweep Algorithm |
|
|
|
|
|
Demo of Coding Projects by MTech & PhD students |
|
|
|
|
|
Demo of Coding Projects by IDD students |
|
|
|
|
|
Some Minor Details of Fortune's Plane-Sweep Algorithm; Delaunay Triangulation: Basic Properties; Triangulation of a Point Set: Motivation of Delaunay Triangulation |
|
|
|
|
|
Thale's Theorem, Angle Optimal Triangulation, Edge Flipping, Legal Triangulation Algorithm, Computing Delaunay Triangulation |
|
|
|
|
|
|
Computing Delaunay Triangulation of a Point Set: Proof of Convergence of Edge-Flip Algorithm, Incremental Algorithm, Randomized Incremental Construction (RIC) |
|
|
|
|
Tutorial-5 for MTech & PhD |
|
|
|
|
|
Tutorial-5 for IDD |
|
|
|
|
|
Class Postponed (Will be compensated later) |
|
|
|
|
|
|
Farthest-Point Voronoi Diagrams: It's Construction; Applications of Voronoi Diagrams and Delaunay Triangulation: Nearest Neighbor Query, Finding Closest Site, Max-Min Facility Location, Min-Max Facility Location, Constructing Euclidean Minimum Spanning Tree (EMST), etc. |
|
|
|
|
Tutorial-6 for MTech & PhD |
|
|
|
|
|
Tutorial-6 for IDD |
|
|
|
|
|
|
Application of Delaunay Triangulation: Constructing Euclidean Minimum Spanning Tree (EMST): O(nlogn) algorithm using Prim's or Kruskal's algorithms; 2-Approximation algorithm to solve Euclidean Traveling Salesman Problem (ETSP); Concept of Medial Axis and Straight Skeleton |
|
|
|
|
Makeup Class (for 27-Feb-2015) A short discussion on Art-Gallery Problem for External Visibility - Prison-Yard Problem; Intersection of Line-Segments: Bentley-Ottman's Sweep-line Algorithm |
|
|
|
|
|
Tutorial-6 for MTech & PhD |
|
|
|
|
|
Tutorial-6 for IDD |
|
|
|
|
|
Arrangement of Lines: Combinatorics of Arrangements; Concepts of Zone & Levels; Zone Theorem; Computing DCEL of an Arrangement: Sweep-Line algorithm; Incremental Algorithm |
|
|
|
|
|
Point-Line Duality: Primal and Dual Planes, Some Properties; Application of Arrangements: Ham-Sandwich Cut Problem, Ham-Sandwich Theorem; O(n+m) Algorithm for Solving 2D Ham-Sandwich Cut Problem; O(n^2) Algorithm for Testing whether Three Points are Collinear; Finding Minimum-Area Triangle in a Point Set |
|
|
|
|
|
|
Short Discussion on Geometric Data-Structures: Segment Tree and Interval Tree; Short Discussion on Intersection: Finding Intersection of Two Convex Polygons |
|
|
|
|
Short Discussion on Orthogonal Range Searching: 1-Dimensional Range Search, Kd-Trees |
|
|
|
|
|
Short Discussion on Robot Motion Planning Problem: Walking in a Triangulation; Configuration Space and C-Obstacles; Euclidean Shortest Path Problem: Elastic Band Concept; Finding Shortest Path in a Simple Polygon: Funnel Algorithm; Concept of Visibility Graph |
|
|
|
|
|
|
End-Term Examination (ETE) |
|