Advertisement
Guest User

Untitled

a guest
Jan 5th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 1.58 KB | None | 0 0
  1. //Diretorio para salvar
  2. Dir = "C:\Users\gmone\Documents\Faculdade\ALN\Tarefa 1 plots\Primeiro plot"
  3.  
  4. //centro do circulo
  5. xc = 0;
  6. yc = 0;
  7.  
  8. //raio
  9. r = 1;
  10.  
  11. //Variavel para o angulo [0, 2*%pi]
  12. a = linspace(0, 2*%pi, 100);
  13.  
  14. //usando equaçoes parametricas
  15. x = xc + r*cos(a);
  16.  
  17. y = yc + r*sin(a);
  18.  
  19. //Adcionando nova linha de 1  ao circulo unitario
  20. z = ones(a)
  21.  
  22. //Valores de cada ponto jogado no vetor
  23. V1 =[x;y;z];
  24.  
  25. //matriz A Translação
  26. A =[1,0,3;0,1,3;0,0,1];
  27.  
  28. //Matriz A Homeografia
  29. //A =[1,0,0;0,1,0;0.2,0.6,1];
  30.  
  31. //Para calcular a translação
  32. T = A*V1
  33.  
  34. H = A*V1
  35.  
  36. //svd utilizando a propia função
  37. [U,S,V] = svd(A);
  38.  
  39. //translação sem svd
  40. //plot(T(1,:),T(2,:));
  41.  
  42. //Homeografia sem svd
  43. //plot(H(1,:)./H(3,:),H(2,:)./H(3,:));
  44.  
  45. //Saida com SVD
  46. K = V*V1;
  47. K1= S*K;
  48. J = U*K1;
  49.  
  50. Teste = H(1,:)./H(3,:)
  51.  
  52. //plot do circulo
  53. subplot(2,2,1)
  54. xtitle( 'Circulo Unitario', 'X', 'Y');
  55. plot(V1(1,1)/V1(3,1),V1(2,1)/V1(3,1),'r+');
  56. plot(V1(1,:)./V1(3,:),V1(2,:)./V1(3,:));
  57.  
  58.  
  59. //só rotação do U (SVD)
  60. subplot(2,2,2)
  61. xtitle( 'Rotação U(SVD)', 'X', 'Y');
  62. plot(K(1,1)/K(3,1),K(2,1)/K(3,1),'r+');
  63. plot(K(1,:)./K(3,:),K(2,:)./K(3,:));
  64.  
  65. //rotação e esticamento do U*S (SVD)
  66. subplot(2,2,3)
  67. xtitle( 'Rotação U e esticamento S (SVD)', 'X', 'Y');
  68. plot(K1(1,1)/K1(3,1),K1(2,1)/K1(3,1),'r+');
  69. plot(K1(1,:)./K1(3,:),K1(2,:)./K1(3,:));
  70.  
  71. //Com SVD
  72. subplot(2,2,4)
  73. xtitle( 'Transformação Com SVD', 'X', 'Y');
  74. plot(J(1,1)/J(3,1),J(2,1)/J(3,1),'r+');
  75. plot(J(1,:)./J(3,:),J(2,:)./J(3,:));
  76.  
  77. //Exportar graficos e salvar as variaveis
  78. xs2png(gcf(),Dir +"\Segundo Teste.png");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement