BORUTO-121

circle_intersection(10)

Mar 7th, 2022 (edited)
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.00 KB | None | 0 0
  1. f(-1,-1,-2,-2,5);
  2.  
  3. function []=f(x1,y1,x2,y2,a)
  4.  
  5. if(x1>x2)
  6.     xp=x1;x1=x2;x2=xp;
  7. end
  8.  
  9. if(y1>y2)
  10.     yp=y1;y1=y2;y2=yp;
  11. end
  12.  
  13. x=x1-a:0.1:x2+a;
  14. y=y1-a:0.1:y2+a;;
  15. f=@(x,y) 4.*((x-x1).*(x-x1)+(y-y1).*(y-y1)).*((x-x2).*(x-x2)+(y-y2).*(y-y2))-(a.*a-((x-x1).*(x-x1)+(y-y1).*(y-y1))-((x-x2).*(x-x2)+(y-y2).*(y-y2))).^2
  16. fimplicit(f);
  17.  
  18. %%%Try with rotation +  translation
  19.  
  20. % a=a/2.;
  21. %
  22. % %%Pretpostavka x1,y1 su blize kooridnatnom pocetku
  23. %
  24. % if(x1^2+y1^2>x2^2+y2^2)
  25. %     xp=x1;x1=x2;x2=xp;
  26. %     yp=y1;y1=y2;y2=yp;
  27. % end
  28. % translacija_do_centra=[0-x1,0-y1];
  29. % disp(translacija_do_centra);
  30. % x1=x1+translacija_do_centra(1);
  31. % y1=y1+translacija_do_centra(2);
  32. % x2=x2+translacija_do_centra(1);
  33. % y2=y2+translacija_do_centra(2);
  34. % %%Now we will rotate y2,x2 to x-axis
  35. %
  36. % % plot(x1,y1,'*');
  37. % % hold on;
  38. % % plot(x2,y2,'*');
  39. % % hold off;
  40. %
  41. %
  42. % ugao=atan(y2/x2);%%Pocetni nagib
  43. % if(y2<0 && x2<0)
  44. %     ugao=-ugao;
  45. % end
  46. % udaljenost=sqrt(x2^2+y2^2);
  47. % x2=sqrt(x2^2+y2^2);%%Sad su na x:osi
  48. %
  49. %
  50. % disp(ugao);
  51. %
  52. % %%Translirajmo da bude simetricno u odnosu na y osu:
  53. %
  54. % x1=x1-udaljenost/2.;
  55. % x2=x2-udaljenost/2.;
  56. %
  57. % % plot(x1,y1,'*');
  58. % % hold on;
  59. % % plot(x2,y2,'*');
  60. % % hold off;
  61. %
  62. %
  63. % e=udaljenost/2.;
  64. % disp(e);
  65. % disp(a);
  66. % b=sqrt(a^2-e^2);
  67. % if(a^2-e^2<=0)fprintf("Ne posoje takve tacke");return;end
  68. %
  69. % fi=-pi:0.01:pi;
  70. %
  71. % x=a*cos(fi);
  72. % y=b*sin(fi);
  73. %
  74. % %%Vracajmo unazad
  75. %
  76. % x1=x1+udaljenost/2.;
  77. % x2=x2+udaljenost/2.;
  78. % x=x+udaljenost/2.;
  79. % x2=sqrt(x2^2+y2^2)/cos(ugao);
  80. % disp(atan(y.\x))
  81. %
  82. % R  = [cos(ugao) -sin(ugao); ...
  83. %       sin(ugao)  cos(ugao)];
  84. % rCoords = R*[x ; y];  
  85. % xr = rCoords(1,:)';      
  86. % yr = rCoords(2,:)';
  87. %
  88. % xr=xr-translacija_do_centra(1);
  89. % yr=yr-translacija_do_centra(2);
  90. %
  91. % x1=x1-translacija_do_centra(1);
  92. % y1=y1-translacija_do_centra(2);
  93. % x2=x2-translacija_do_centra(1);
  94. % y2=y2-translacija_do_centra(2);
  95. %
  96. %
  97. % plot(x1,y1,'*');
  98. % grid on;
  99. % hold on;
  100. % plot(x2,y2,'*');
  101. % plot(xr,yr);
  102.  
  103. end
  104.  
Add Comment
Please, Sign In to add comment