Previous | Next --- Slide 7 of 64
Back to Lecture Thumbnails

So we talked about how polar coordinates are not themselves a vector space, but represent them. Does that mean that they only have I guess a superficial role in graphics? Or any role?


@amywuhu This is a great question, because it gets at an important issue: the distinction between an object and a representation of that object. For instance, a linear map is any function f from one vector space to another satisfying f(ax+y)=af(x)+f(y) for all scalars a and vectors x,y. One (of many) ways to represent a linear map is using a matrix, but a matrix is not itself a linear map---and it only becomes a representation of a linear map when you clearly associate column vectors with vectors from your space, and the operation of matrix-vector multiplication with the operation of applying the map f to vectors. Otherwise, a matrix could represent anything (a bilinear form, adjacency relations in a graph, rows from a medical database, ...).

In a similar way, polar coordinates are a representation for vectors, even if you can't perform addition via componentwise addition of the two polar coordinates. Actually, you have to be a bit careful here what you mean by "polar coordinates": if you allow any real angle theta, then polar coordinates encode a bit more information than just direction and magnitude: they also sort of say how many times the arrow "spins around" before reaching its ultimate direction. So, you might say that two sets of polar coordinates describe the same vector if theta differs by 2pi, i.e., consider the "quotient" of polar coordinates by the equivalence relation theta ~ theta+2k pi (for integers k); if you momentarily think of polar coordinates as rectangular coordinates for the plane, this is like rolling the plane up into a cylinder along one axis. Alternatively, you could just limit theta to angles between [-pi/2, pi/2). Now you need a way to express addition of polar coordinates in a way that reflects the behavior of adding the vectors that these coordinates represent, i.e, adding arrows "end to end." The simplest way, perhaps, is to convert these coordinates from polar to rectangular and the back again. My favorite way to do this is to use Euler's formula. In particular, suppose I have two vectors u1, u2 represented by polar coordinates (r1,theeta1) and (r2,theta2), respectively. Then I can express their sum via the relationship

S(u,v) := (|r1 e^(i theta1) + r2 e^(i theta2)|, arg(r1 e^(i theta1) + r2 e^(i theta2)) ),

where |.| is thw complex modulus (i.e., just the length of the vector) and arg(.) is the complex argument (just the angle with the real or x-acis). Seems like a mouthful! And yet, S correctly represents the vector space structure that we really wanted to talk about in the first place, i.e., it behaves exactly like "joining arrows end to end", even though the coordinate manipulation we did is highly nonlinear.

A shorter answer to your question is: polar coordinates are extremely useful in graphics, albeit not always in the same places as rectangular coordinates.