WEBVTT
Kind: captions
Language: en
00:00:06.520 --> 00:00:11.460
We’ll start by recapping some fundamentals
of two-dimensional geometry.
00:00:11.460 --> 00:00:14.820
To start with, we’re going to talk about
a Euclidian plane.
00:00:14.820 --> 00:00:21.680
A Euclidian plane is a non-curved surface
where the rules of Euclidian geometry apply.
00:00:21.680 --> 00:00:22.860
We normally take this for granted.
00:00:22.860 --> 00:00:27.860
We’re just going to be explicit about the
fact that we’re working with flat surfaces.
00:00:27.860 --> 00:00:30.860
The second concept is Cartesian coordinates.
00:00:30.860 --> 00:00:33.420
Again, this is a concept you should be well
familiar with.
00:00:33.420 --> 00:00:37.740
We have a set of orthogonal axes typically
labelled X and Y.
00:00:37.740 --> 00:00:43.800
We have a point P and we describe its position
with respect to the origin in terms of distances
00:00:43.800 --> 00:00:47.080
along the X and Y axes.
00:00:47.080 --> 00:00:51.400
A concept that is perhaps less familiar to
you will be homogenous coordinates and we’re
00:00:51.400 --> 00:00:54.620
going to be using them a lot in this lecture.
00:00:54.620 --> 00:00:59.140
Those of you who’ve done the Introduction
to Robotics course will have already encountered
00:00:59.140 --> 00:01:00.900
homogenous coordinates.
00:01:00.900 --> 00:01:05.020
To represent a point in a two-dimensional
Cartesian space, we describe it by a pair
00:01:05.020 --> 00:01:12.140
of numbers written as tuple X, Y and we say
that this point lives in the space of two-dimensional
00:01:12.140 --> 00:01:16.680
real numbers, which we denote by the symbol
R2 (R squared).
00:01:16.680 --> 00:01:21.480
In homogenous coordinates, we represent the
same point with three numbers.
00:01:21.480 --> 00:01:25.180
In this case, we’ve represent it as X, Y
and the number one.
00:01:25.180 --> 00:01:30.720
In fact, the number one is somewhat arbitrary;
it could be any non-zero constant.
00:01:30.720 --> 00:01:35.840
We say now that this point belongs to the
two-dimensional projective space, which we
00:01:35.840 --> 00:01:38.440
denote by the symbol P2 (P squared).
00:01:38.440 --> 00:01:41.920
So it’s the same point, just two different
ways to represent it.
00:01:41.920 --> 00:01:46.620
The homogenous representation, the representation
in projective space.
00:01:46.620 --> 00:01:50.880
Now to convert from homogenous coordinate
to a Cartesian coordinate, I’m going to
00:01:50.880 --> 00:01:57.040
start with the very general homogenous coordinate
denoted here as X tilde, Y tilde and Z tilde.
00:01:57.040 --> 00:02:01.780
To convert it through a Cartesian coordinate
what I do is take the first two numbers and
00:02:01.780 --> 00:02:03.340
divide by the third.
00:02:03.340 --> 00:02:10.760
So X and Y Cartesian coordinates are given
by X tilde on Z tilde and Y tilde on Z tilde
00:02:10.760 --> 00:02:12.160
respectively.
00:02:12.160 --> 00:02:17.820
Now a mathematician would say that in projective
space, lines and points have duals.
00:02:17.820 --> 00:02:19.980
They have equivalent representations.
00:02:19.980 --> 00:02:24.400
Some very interesting and very useful things
flow from this duality.
00:02:24.400 --> 00:02:29.240
We can write a line in homogenous form a little
bit different to what we’re used to but
00:02:29.240 --> 00:02:35.020
we can write a line as three numbers denoted
here as L1, L2 and L3.
00:02:35.020 --> 00:02:38.420
Now imagine that I’ve got a point which
moves along that line.
00:02:38.420 --> 00:02:42.980
So the line is really the set of all possible
points that lie along it.
00:02:42.980 --> 00:02:48.580
I can express the fact that the point lies
on the line by the dot product of the line
00:02:48.580 --> 00:02:50.740
and the point being equal to zero.
00:02:50.740 --> 00:02:54.360
We refer to this as the point equation of
a line.
00:02:54.360 --> 00:02:59.300
A line is defined in terms of all the points
that could possibly lie along it.
00:02:59.300 --> 00:03:05.120
Now I can expand that out and we can see that
looks a little bit different to the conventional
00:03:05.120 --> 00:03:08.020
Cartesian representation of a line.
00:03:08.020 --> 00:03:13.200
But if we do the transformation from homogenous
coordinates to Cartesian coordinates, we can
00:03:13.200 --> 00:03:17.420
show that these two representations of a line
are equivalent.
00:03:17.420 --> 00:03:22.500
An advantage of using the homogenous form
is that it’s very easy to represent a line
00:03:22.500 --> 00:03:27.060
that is vertical, where in Cartesian coordinates
that means that the grading of the line is
00:03:27.060 --> 00:03:33.860
equal to infinity, in homogenous form, we
treat that situation very simply and conveniently.
00:03:33.860 --> 00:03:36.660
We don’t need to introduce any infinities.
00:03:36.660 --> 00:03:41.280
We also might be interested in how to describe
a line that joins two points.
00:03:41.280 --> 00:03:45.360
So here we have two points and here’s a
line that passes through those two points.
00:03:45.360 --> 00:03:50.500
Then the homogenous representation of the
line, which remember is the three vector,
00:03:50.500 --> 00:03:55.920
is given simply by the cross-product of the
two points that lie on the line.
00:03:55.920 --> 00:04:01.260
So a very, very simple way of finding the
equation of a line that joins two points much,
00:04:01.260 --> 00:04:04.820
much more convenient than it is for Cartesian
coordinates.
00:04:04.820 --> 00:04:09.100
We might also be interested in the problem
of the coordinate of the point at the intersection
00:04:09.100 --> 00:04:10.200
of two lines.
00:04:10.200 --> 00:04:14.480
So here we have two lines and this is the
intersection point and the intersection point
00:04:14.480 --> 00:04:17.980
is given by the cross-product of the two lines.
00:04:17.980 --> 00:04:20.700
We call this the line equation of a point.
00:04:20.700 --> 00:04:24.660
The point is defined in terms of two lines.
00:04:24.660 --> 00:04:26.660
So let’s create a point.
00:04:26.660 --> 00:04:28.440
A horizontal of 100.
00:04:28.440 --> 00:04:30.740
A vertical coordinate of 200.
00:04:30.740 --> 00:04:34.100
And points are represented as Coulomb vectors.
00:04:34.100 --> 00:04:38.360
So that’s a row vector that I’ve written
just there, so I will transpose it.
00:04:38.360 --> 00:04:41.280
So that will display as a Coulomb vector.
00:04:41.280 --> 00:04:46.440
So this is a Euclidean or Cartesian coordinate
for a point.
00:04:46.440 --> 00:04:50.880
Now we can convert the Euclidean coordinate
into a homogeneous coordinate using the function
00:04:50.880 --> 00:04:56.560
e2h, and we can see that all it has done is
appended a 1 to it.
00:04:56.560 --> 00:05:00.700
So now instead of a vector with two elements,
it’s now a Coulomb vector with three elements.
00:05:00.700 --> 00:05:02.740
The last element is a 1.
00:05:02.740 --> 00:05:07.620
Now we can convert the homogeneous coordinate
back to a Euclidean coordinate by using the
00:05:07.620 --> 00:05:14.400
inverse function h2e, for homogeneous to Euclidean,
and I apply that to the answer for the last
00:05:14.400 --> 00:05:18.440
operation and we see that it is back now to
a vector with two elements.
00:05:18.440 --> 00:05:20.860
The result is the vector that we started with.