Introduction

Original link: https://yousazoe.top/archives/ed328fdc.html

introduction

The important thing about computational geometry is that it is the foundation of many technologies and disciplines, such as graphics, CAD, GIS, path planning, etc. The principles behind these techniques are often based on computational geometry in nature. Therefore, the study of this course is very helpful to develop a general understanding of computational geometry theory, which will provide learners with a geometric perspective for their future research work.

What can we learn from this course?

  • Awareness of Computational Geometry theory that will help students incorporate Computational Geometry into their future research
  • Comprehensive understanding on fundamental paradigms/strategies for solving geometric problems, incremental construction, plane sweeping
  • Essential geometric structures and algorithms such as polygon decompositions, Voronoi diagrams, Delaunay triangulations

The teaching objectives of this course are three:

  • A general understanding of computational geometry theory that will provide you with a geometric perspective in future research work
  • Comprehensive understanding of geometric problem solving paradigms and strategies, including incremental construction, plane sweep, divide and conquer, stratification, approximation, and randomization
  • Thorough mastery of basic geometric structures and algorithms, including convex hull, polygon subdivision, Voronoi diagram, Delaunay triangulation, as well as geometric intersection, point location, range search, window cut query, etc.

Are you qualified for learning Computational Geometry?

Computational Geometry requires some skills of algorithm design and analysis as well as programming, but you don’t need to be an expert before learning this course. Actually, C/C++ programming experience and some basic knowledge of common data structures will be enough. To make sure whether you are qualified for learning this course, check the list below:

  • C/C++ programming: variable, function, struct, class;
  • Algorithm design and analysis: complexity, amortized analysis, recursion, divide and conquer, linked list, binary search tree, priority queue.

Computational Geometry has certain requirements for fundamentals of data structures and algorithms and programming, but this does not mean that you need to be proficient in all relevant courses. In fact, you only need to master some common data structures, have certain algorithm analysis ability, and basic skills of C/C++ language programming. To see if you are a good candidate for this course, take a look at the following checklist:

  • C/C++ language programming foundation: variables, functions, structures, classes
  • Data structure and algorithm analysis: complexity, amortization analysis, recursion, divide and conquer, linked list, stack, binary search tree, priority queue

History of This Course

This course has been offered for 18 years. Although many famous foreign universities have offered this course, there are only a handful of schools and institutions in China that do computational geometry.

What’s Computational Geometry

When it comes to computational geometry, we need to make a noun analysis.

If you hear Computational Geometry for the first time, the first thing you notice is geometry, curves, surfaces, etc. come to mind. In fact, Chinese mathematician Su Buqing published a book “Computational Geometry” in the 1980s. This computational geometry is not the other computational geometry, and this course puts more emphasis on computation. It is recognized that modern computational geometry was born in Shamos’ famous doctoral dissertation in 1978, so this discipline has only a mere 40 years of development history.

Of course, computational geometry is very important because it is the basis of many disciplines, especially technical disciplines, including typical graphics, CAD, GIS, path planning, etc. In the end, we will return to the basic problems of computational geometry.

Before learning, if you can summarize it in one word, computational geometry is the geometric version of “algorithm design and analysis”. The objects and the surface forms of the problems it discusses are geometric, and the methods and strategies for solving these problems are The methodology above is actually geometric. Although computational geometry is only a branch of algorithm design and analysis from this aspect, it is not only a geometric and computational geometry because it incorporates many classical conclusions and methods of discrete geometry, combinatorial geometry, etc. The physical reaction of the two problems, but a very deep chemical reaction.

How to Learn CG Better

Computational geometry emphasizes that what is essential is to be imaged.

No one likes complicated and esoteric things, so if you can’t understand the derivation and formulas well in the learning process of this course, you don’t have to get stuck in the quagmire of complexity and esoteric, temporarily put it aside and focus on graphics and specific performance.

This article is reprinted from: https://yousazoe.top/archives/ed328fdc.html
This site is for inclusion only, and the copyright belongs to the original author.