Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Computational Geometry Algorithms with C++
Rating: 4.5 out of 5(240 ratings)
2,501 students

Mastering Computational Geometry Algorithms with C++

Zero to Hero guide to Computational geometry algorithm in C++.
Created byKasun Liyanage
Last updated 12/2021
English

What you'll learn

  • Applications of Computational Geometry algorithms.
  • Able to implement Computation Geometry algorithms with C++
  • Precision and Performance concern and how to solve them when implementing Computational Geometry Algorithms
  • Solid understanding on Mathematics and the interpretation of Mathematics behind Computational Geometry
  • Solid understanding on Vector algebra to be using in Computational Geometry.

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

8 sections90 lectures11h 48m total length
  • Setting up the Environment4:52
  • Hello Computational Geometry7:30
  • Learning Goals for this Section1:00
  • Application of Computational Geometry
  • Basic Terms6:17
  • Introduction to Vector Algebra13:59
  • Vector Dot Product6:14
  • Vector Cross Product13:05
  • Basics Of Vector Algebra
  • Implementation of Vector Class20:01
  • Magnitude and Normalize functions.4:28
  • Basic operations of Vector Class
  • Finding Relative Position of a Point Compared to a Line16:42
  • Representation of a Line10:33
  • Representation of a Plane7:37
  • Intersection of two lines.7:08
  • Intersection Point of Two Lines6:21
  • Calculating Angle Between Two Lines10:07
  • Angle Between a Line and a Plane6:02
  • Collinear and Coplanar tests10:43
  • Distance Between Point and a Line7:02
  • Distance Between Point and a Plane8:03
  • Intersection Between Line and a Plane8:38
  • Intersection between two Plane8:40
  • Overview of needed Data Structures and Algorithms12:01

Requirements

  • Knowledge on basic data structures and algorithms will be helpful.
  • Hands on experience with any programming language.

Description

Computational Geometry algorithms have tons of applications in the fields like computer games, computer simulation, computer graphic, CAD/CAM software's, Navigation systems and many more day to day applications. But the data structure and algorithms fall under this category is still considered specialized area due to inherit complexities of those. To become fluent in computational geometry you need at least following knowledge.

  • Through knowledge on linear algebra and geometrical representation of  those.

  • Mathematical representation of  geometrical shapes.

  • Computational steps for primitive test like intersection and distance queries.

  • Good understanding on algorithms in computational geometry and where to use those.

In this course I will cover all the required knowledge for you to be fluent and confident on Computational Geometry. Following are the topic expected to cover in this course.

Topics

  1. Basics of linear algebra including vector and matrix arithmetic and implementation of those operations.

  2. Mathematical representation of basic geometry primitives and implementation.

  3. Computational approach for finding intersections and distance between basic primitives like rectangles, lines, planes etc.

  4. Orientation test on geometric primitives.

  5. Polygon triangulation.

  6. Monotone polygon partition.

  7. Plane sweep algorithms.

  8. Convex hull calculations and implementation in both 2D and 3D space.

  9. Overview of simple tree data structures like Binary Search Trees (BST) and Red Black Tree (RBT)

  10. KD Tree implementation and range queries using KDTrees.

  11. Range Trees..

  12. Graph Theory



Who this course is for:

  • Algorithm enthusiasts.
  • Competitive Programmers.
  • Anyone who seek advanced real-world applications of algorithms
  • University students
  • Software developers