Artificial intelligent assistant

Affine transformation matrix doing translation Greetings All I have some test matlab code which can scale and do rotation but the translation (tl value) doesn't seem to be working. I expected the entire object to be moved over x=2 and y=0 but it doesn't move any ideas? clf; clear all rp=[0 4 2 -1 0; 0 1 -4 -3 0;0 0 0 0 0] %x-y values scalenum=2 %scale factor tx=2;ty=0; %translate values % for theta=0:45:90 tl=[1 0 tx; 0 1 ty;0 0 1] %translation rot=[cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0;0 0 1]; %rotation scale=[scalenum 0 0;0 scalenum 0;0 0 1] %scale rt=tl*rp %new translation r=rot*rp %new rotation of points rs=scale*r %new scale with rotation hold off plot(rt(1,:),rt(2,:)) axis([-8 8 -8 8]) grid on pause(.5) end;

I'm highly suspicious of


rp=[0 4 2 -1 0; 0 1 -4 -3 0;0 0 0 0 0] %x-y values


If you want to do translation you don't need (x, y): you need (x, y, w), where w is the reciprocal scaling factor. So all your points are at infinity, and translating them isn't going to do much.


rp=[0 4 2 -1 0; 0 1 -4 -3 0;1 1 1 1 1] %(x,y,w) values


should get you somewhere.

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 879ff08ea732c120b50b89701cfae116