Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1.  
  2. public class Punkt
  3. {
  4. private String nazwa;
  5. private double x;//wspolrzedna x
  6. private double y;//wspolrzedna y
  7.  
  8.  
  9. Punkt(String nazwa,double x,double y)//konstruktor 3 parametrowy
  10. {
  11. this.nazwa = nazwa;
  12. this.x = x;
  13. this.y = y;
  14. }
  15. Punkt(String nazwa)//konstruktor 1 paramtrowy
  16. {
  17. this.nazwa = nazwa;
  18. }
  19.  
  20. void ustawWspol(double x,double y)
  21. {
  22. this.x = x;
  23. this.y = y;
  24. }
  25. void ustawX(double x)
  26. {
  27. this.x = x;
  28. }
  29. void ustawY(double y)
  30. {
  31. this.y = y;
  32. }
  33. double odczytX()//zwraca x
  34. {
  35. return x;
  36. }
  37. double odczytY()//zwraca y
  38. {
  39. return y;
  40. }
  41.  
  42. void zmienXOK(double k)//zmienia x o wartosc k
  43. {
  44. x += k;
  45. }
  46. void zmienYOK(double k)//zmienia y o wartosc k
  47. {
  48. y += k;
  49. }
  50. static double obliczOdleglosc(Punkt a ,Punkt b)//liczy odleglosc miedzy punktami Math.sqrt to pierwiastek a mnozeenie i dzielenie przez 1000 potrzebne
  51. //do zaokraglenia
  52. {
  53. return (Math.round(Math.sqrt((((a.x-b.x)*(a.x-b.x)) + ((a.y-b.y)*(a.y-b.y))))*10000)/10000.0);//10000.0 ta .0 musi zeby lapalo ze to double
  54. }
  55. static void krzywaGoniaca(Punkt a,Punkt b,double alfa)//nie jestem pewny czy mam dodawac czy odejmowac :D
  56. {
  57. while(a.x != b.x && a.y != b.y)
  58. {
  59. if(obliczOdleglosc( a , b ) < alfa)
  60. {
  61. b.x -= obliczOdleglosc( a , b );
  62. b.y -= obliczOdleglosc( a , b );
  63. }
  64. else
  65. {
  66. a.zmienXOK(1);
  67. a.zmienYOK(1);
  68. b.x -= alfa * ((b.x - a.x)/(obliczOdleglosc( a , b )));//te dziwne wzory nie wiem czy dodawac czy odejmowac :D
  69. b.y -= alfa * ((b.y - a.y)/(obliczOdleglosc( a , b )));
  70.  
  71. }
  72. }
  73. System.out.println(b.x + " " + b.y + " "+ a.x+" "+ a.y );
  74. }
  75. public static void main(String[] args)
  76. {
  77. Punkt a = new Punkt("a",4.0,3.0);//tworzenie nowego obiektu
  78. Punkt b = new Punkt("b",0,0);//tworzenie nowego obiektu
  79. System.out.println(obliczOdleglosc(a, b));
  80. krzywaGoniaca(a, b, 1.5);
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement