Lecture 4: Transforms (23)
joyjwlee

Why are they called points and vectors? What exactly is the insight into why they're named that way? A point minus a point being a vector sort of makes sense, but it'd be nice to have a better intuition.

anavmehta12

I've come to understand the need for homogenous coordinates due to fact that we cannot represent translations as a linear transformation since we need to add a scalar to the x, y coordinates which we cannot achieve with a 2x2 matrix. Homogenous Coordinates take us to a higher dimensional space where we can use a 3x3 matrix in 2D to represent translation alongside scaling and rotation.

Mehvix

Perhaps some additional insight: slide 38 says a "coordinate frame is defined by an origin (point) and two unit axes (vectors)" -- in this case, the origin is [0, 0, 1] and the two vectors are { [1, 0, 0], [0, 1, 0] }

Staffi-geng

@joyjwlee we think of a point as a fixed position in space (geometrically, we often draw this as a dot or a "point"). A vector, in contrast, has a direction and magnitude, and is a displacement in space.

grafour

How is a point vs a vector useful in different ways? Like what are some examples of when we would use either?

NothernSJTU

My own understanding is that this new dimension is equivalent to placing several pieces of paper, two-dimensional space, on this new dimension and projecting it. For example, if we expect two vectors to extend to an infinite distance and intersect, then this dimension can make that happen.

RishSharma7

For transforms, will we be using matrix multiplication and algebraic manipulation to represent all of our points and vectors? I presume our code for the final project will involve a bit of an understanding of the math behind it all. Interested to see how the geometric math fits into imaging!

aeave

I think professor Ren will talk about this in a later lecture, but in general homogenous coordinates in 2D have the form [wx, wy, w]. That is, any point in that form is equivalent to the form [x, y, 1] shown on the slide. In the matrices talked about in this lecture, you will notice that the last row always has two 0s followed by a 1. In general, the last row of the matrix can be anything (I think we will get to this when we talk about perspective transformations later). However, because homogenous coordinates are equivalent up to a scaling factor (i.e. [x, y, 1], [2x, 2y, 2], [wx, wy, w] are all equivalent), the 3x3 transformation matrices here actually can only have up to 8 degrees of freedom (even if they actually are made up of 9 numbers) since the homogenous coordinates they operate on have that property.

AbhiAlderman

@joyjwlee I believe the staff answer to your question is pretty good. If you want an intuitive way to think about it, you can think of points and vectors in a Physics sense. Lets say you have a moving object in a 2D plane. The point would be exactly where the object is at some point in time, whereas the vector would show you how fast and in what direction the object is moving in! For example, a thrown ball in an arc, or a moving car, a dropped object, etc. Here is a short video explaining vectors further with visual examples that I found very useful! https://www.youtube.com/watch?v=ml4NSzCQobk

spegeerino

@grafour I think the staff answer and others' answers are very good for conceptually understanding what these are. I could be wrong, but I think one potential practical benefit of making this distinction between points and vectors is so that different operations act on them differently. For example, let's say you have a ball with a position (x,y,1) and velocity (x', y', 0). Now, suppose that you want to translate your coordinate system over to a new origin for whatever reason. When I translate a point, I expect it to move over, but translating a velocity shouldn't change it because we're still moving in the same direction at the same speed, just labeled differently. If we look at the translation matrix multiplication, we can see that the point will get translated over as shown in the slide, but the vector wouldn't as the third column would be multiplied by 0. This neat property lets us uniformly apply transformations to different kinds of quantities (position vs velocity) without "breaking the rules" of either data type.

agao25

My understanding is that a 2D point would kind of be a static item, simply located in a 2D coordinate system but a 2D vector is almost like an arrow pointing from a point or the origin. This would also help to explain the next slide, because a vector + vector = vector is simply vector addition, a point - point = vector demonstrates how to move from one point to another requires a directional vector, and a point + vector = point is how directions from a point would lead us a location in 2D space or point. A point + point doesn't equate to anything because we can't do anything with this information. The points just exist as is and we aren't looking to move. Utilizing a third variable allows us to do the linear algebra necessary and as professor said facilitate later concepts

kevinzwang

In lecture, Prof. Ng calls these "homogeneous coordinates", whereas in the slides it reads "homogenous coordinates". Are these two spellings interchangeable?

You must be enrolled in the course to comment