Geometric transformations
Apply the following geometric transformation to a set of points.
Generate randomly coordinates for 1 point X=(x,y).
X=100*rand(2,1)
x=X(1,1)%to access x coordinate
y=X(2,1)%to access y coordinate
generate a point in homogeneous coordinates
Xh=100*rand(3,1)
Xh(3,1)=1
figure(1);
plot(Xh(1,1),Xh(2,1),'o') %display it on a figure
rescale the axis of the figure
axis([-100 100 -100 100])
generate 2 points in homogeneous coordinates
Xh=100*rand(3,2)
Xh(3,:)=1
display them on the figure in blue 'ob' and rescale the axis.
plot(Xh(1,:),Xh(2,:),'ob')
axis([-100 100 -100 100])
generate a 3x3 identity matrix using eye function (help eye). Name it H.
Xt=H*Xh;
What does this operation do?
Modify the matrix H such that it translates the points by vector t=[-100, -100];
display them on the same figure in red 'or'
figure(1);
plot(Xt(1,:),Xt(2,:),'or')
clean the figure
clf
Generate 300 points in homogeneous coordinates and display them in green.
(i) transform the points by applying matrix H with appropriately modified parameters. Generate one matrix for each transformation.
translation tx=-100, ty=0
rotation ra=pi/2;
scaling s=2
translation + rotation + scaling in one matrix
How do you modify the matrix?