Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Diretorio para salvar
- Dir = "C:\Users\gmone\Documents\Faculdade\ALN\Tarefa 1 plots\Primeiro plot"
- //centro do circulo
- xc = 0;
- yc = 0;
- //raio
- r = 1;
- //Variavel para o angulo [0, 2*%pi]
- a = linspace(0, 2*%pi, 100);
- //usando equaçoes parametricas
- x = xc + r*cos(a);
- y = yc + r*sin(a);
- //Adcionando nova linha de 1 ao circulo unitario
- z = ones(a)
- //Valores de cada ponto jogado no vetor
- V1 =[x;y;z];
- //matriz A Translação
- A =[1,0,3;0,1,3;0,0,1];
- //Matriz A Homeografia
- //A =[1,0,0;0,1,0;0.2,0.6,1];
- //Para calcular a translação
- T = A*V1
- H = A*V1
- //svd utilizando a propia função
- [U,S,V] = svd(A);
- //translação sem svd
- //plot(T(1,:),T(2,:));
- //Homeografia sem svd
- //plot(H(1,:)./H(3,:),H(2,:)./H(3,:));
- //Saida com SVD
- K = V*V1;
- K1= S*K;
- J = U*K1;
- Teste = H(1,:)./H(3,:)
- //plot do circulo
- subplot(2,2,1)
- xtitle( 'Circulo Unitario', 'X', 'Y');
- plot(V1(1,1)/V1(3,1),V1(2,1)/V1(3,1),'r+');
- plot(V1(1,:)./V1(3,:),V1(2,:)./V1(3,:));
- //só rotação do U (SVD)
- subplot(2,2,2)
- xtitle( 'Rotação U(SVD)', 'X', 'Y');
- plot(K(1,1)/K(3,1),K(2,1)/K(3,1),'r+');
- plot(K(1,:)./K(3,:),K(2,:)./K(3,:));
- //rotação e esticamento do U*S (SVD)
- subplot(2,2,3)
- xtitle( 'Rotação U e esticamento S (SVD)', 'X', 'Y');
- plot(K1(1,1)/K1(3,1),K1(2,1)/K1(3,1),'r+');
- plot(K1(1,:)./K1(3,:),K1(2,:)./K1(3,:));
- //Com SVD
- subplot(2,2,4)
- xtitle( 'Transformação Com SVD', 'X', 'Y');
- plot(J(1,1)/J(3,1),J(2,1)/J(3,1),'r+');
- plot(J(1,:)./J(3,:),J(2,:)./J(3,:));
- //Exportar graficos e salvar as variaveis
- xs2png(gcf(),Dir +"\Segundo Teste.png");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement