ArticleslgStudy

computer science

Kinetic convex hull

Kinetic convex hull is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Kinetic convex hull rather than just read about it. In short: A kinetic convex hull data structure is a kinetic data structure that maintains the convex hull of a set of continuously moving points. It should be distinguished from dynamic convex hull data structures, which handle points undergoing discrete changes such as insertions or deletions of points rather than continuous motion.

Kinetic convex hull — main illustration
Kinetic convex hull — illustration

Key takeaways

  • Kinetic convex hull belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Kinetic convex hull to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Kinetic convex hull from memory before moving on to harder problems.

Reference excerpt

A kinetic convex hull data structure is a kinetic data structure that maintains the convex hull of a set of continuously moving points. It should be distinguished from dynamic convex hull data structures, which handle points undergoing discrete changes such as insertions or deletions of points rather than continuous motion.

The 2D case The best known data structure for the 2-dimensional kinetic convex hull problem is by Basch, Guibas, and Hershberger. This data structure is responsive, efficient, compact and local.

The data structure The dual of a convex hull of a set of points is the upper and lower envelopes of the dual set of lines. Therefore, maintaining the upper and lower envelopes of a set of moving lines is equivalent to maintaining the convex hull of a set of moving points. Computing upper and lower envelopes are equivalent problems, so computing the upper envelope of a set of lines is equivalent to computing the convex hull of a set of moving points. The upper envelope of a set of static lines can be computed using a divide and conquer algorithm which partitions the lines into two sets of equal size, calls itself recursively on the two sets to find their upper envelopes, and then merges the two resulting upper envelopes. The merge step is performed using a vertical line sweep. Call the first set of points blue and the second set of points red. The standard line sweep algorithm for merging upper envelopes sweeps though all of vertices of the red and blue upper envelopes, from left to right. The most recently encountered red and blue points are maintained as the line sweeps. When a point is encountered, the algorithm checks if the point is above or below the segment following the last encountered point of the opposite color. If it is above, that point is added to the merged upper envelope. If it is of a different color than the last added point, the red and blue envelopes have crossed, so the intersection point is also added to the merged upper envelope. The sequence of edges and vertices resulting from this algorithm is only dependent on the ordering of points, and the results of the line-point comparisons. Thus, the result can be certified with the following certificates:

x-certificates ( < x {\displaystyle <_{x}} ) are used to certify the order the vertices of the red and blue envelopes. They are the certificates for a kinetic sorted list on the set of vertices. Since each point involves 2 lines, and the certificate involves 2 points, each certificate involves 4 lines. y-certificates ( < y {\displaystyle <_{y}} ) are used to certify that a vertex is above or below an edge. The certificates appear for all comparisons that would occur during the algorithm. As long as all of these certificates hold, the merge steps will be executed identically, so the resulting upper envelope will be the same. A kinetic data structure for upper envelopes can be created by using these certificates to certify the static upper envelope algorithm. However, this scheme is not local, because one line many be involved in many y-certificates if it remains on top or bottom as many points from the other envelope are encountered. Thus, it is necessary to introduce a s-certificates ( < s {\displaystyle <_{s}} ) which certifies that the slope of a line is greater than or less than the slope of another line.

Having the following certificates for all points ab is sufficient to certify the sequence of edges and vertices resulting from a merge, with only O(1) certificates per line:

x [ a b ] {\displaystyle x[ab]} : a b < x a b . n e x t {\displaystyle ab<_{x}ab.next} . a b . n e x t {\displaystyle ab.next} denotes vertex closest to a b {\displaystyle ab} on its right. This certificate is stored for all points a b {\displaystyle ab} which have a different color than the point, a b . n e x t {\displaystyle ab.next} , which follows them.

y l i [ a b ] {\displaystyle yli[ab]} : a b < y c e ( a b ) {\displaystyle ab<_{y}ce(ab)} or a b > y c e ( a b ) {\displaystyle ab>_{y}ce(ab)} . This certificate is stored for all points a b {\displaystyle ab} such that b {\displaystyle b} intersects c e ( a b ) {\displaystyle ce(ab)} . c e ( a b ) {\displaystyle ce(ab)} denotes the contender edge of a b {\displaystyle ab} , the edge from the other envelope that is above or below a b {\displaystyle ab} .

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Kinetic convex hull

Start with the simplest possible case. Write down what Kinetic convex hull claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Kinetic convex hull before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Kinetic convex hull ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Kinetic convex hull

In research
Kinetic convex hull appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Kinetic convex hull in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Kinetic convex hull is common in secondary-school and first-year university syllabi. It links to neighbouring topics Convex hull algorithms, Kinetic data structures, so understanding it makes those chapters shorter.
In everyday life
Look for Kinetic convex hull outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Kinetic convex hull” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Kinetic convex hull in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Kinetic convex hull means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Kinetic convex hull out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Kinetic convex hull in simple terms?

A kinetic convex hull data structure is a kinetic data structure that maintains the convex hull of a set of continuously moving points. It should be distinguished from dynamic convex hull data structures, which handle points undergoing discrete changes such as insertions or deletions of points rath…

Why does Kinetic convex hull matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Kinetic convex hull?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Kinetic convex hull.

Tags

  • Convex hull algorithms
  • Kinetic data structures

Keep exploring