Given two convex polygons P and Q in the (x, y) plane, respectively having vertex sets {p1, ..., pa} and {q1, ..., qb} given in clockwise order (p1 is the furthest west of the furthest-north vertices of P; q1 is the furthest west of the furthest-north vertices of Q), I want to find R, the convex hull of the union of P and Q. This is another convex polygon, with at most a + b vertices. I want to get it in the same form, i.e. a sequence of vertices {r1, ..., rc} given in clockwise order with r1 the furthest-west of the furthest-north vertices. What's the most efficient way to do this?
It is not known at the outset whether or not P and Q intersect.
There is powerful method called Rotating Calipers.
Using them, one can make union of two convex hulls in linear time.
Sadly, nice page with a lot of explanations has been deleted (http://cgm.cs.mcgill.ca/~orm/rotcal.html, there is no copy in web archive either).
In general, you choose the leftmost point from your p1 and q1 as start, then walk through vertices of both polygons in parallel order (like merge step in mergesort), choosing the most "clockwise" one at every step. When edge of new convex hull changes from P to Q vertices or vice versa, it is called "bridge" (qj-pi at the picture)
Very short description, perhaps you are lucky to find better one.