Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Punkt
- {
- private String nazwa;
- private double x;//wspolrzedna x
- private double y;//wspolrzedna y
- Punkt(String nazwa,double x,double y)//konstruktor 3 parametrowy
- {
- this.nazwa = nazwa;
- this.x = x;
- this.y = y;
- }
- Punkt(String nazwa)//konstruktor 1 paramtrowy
- {
- this.nazwa = nazwa;
- }
- void ustawWspol(double x,double y)
- {
- this.x = x;
- this.y = y;
- }
- void ustawX(double x)
- {
- this.x = x;
- }
- void ustawY(double y)
- {
- this.y = y;
- }
- double odczytX()//zwraca x
- {
- return x;
- }
- double odczytY()//zwraca y
- {
- return y;
- }
- void zmienXOK(double k)//zmienia x o wartosc k
- {
- x += k;
- }
- void zmienYOK(double k)//zmienia y o wartosc k
- {
- y += k;
- }
- static double obliczOdleglosc(Punkt a ,Punkt b)//liczy odleglosc miedzy punktami Math.sqrt to pierwiastek a mnozeenie i dzielenie przez 1000 potrzebne
- //do zaokraglenia
- {
- 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
- }
- static void krzywaGoniaca(Punkt a,Punkt b,double alfa)//nie jestem pewny czy mam dodawac czy odejmowac :D
- {
- while(a.x != b.x && a.y != b.y)
- {
- if(obliczOdleglosc( a , b ) < alfa)
- {
- b.x -= obliczOdleglosc( a , b );
- b.y -= obliczOdleglosc( a , b );
- }
- else
- {
- a.zmienXOK(1);
- a.zmienYOK(1);
- b.x -= alfa * ((b.x - a.x)/(obliczOdleglosc( a , b )));//te dziwne wzory nie wiem czy dodawac czy odejmowac :D
- b.y -= alfa * ((b.y - a.y)/(obliczOdleglosc( a , b )));
- }
- }
- System.out.println(b.x + " " + b.y + " "+ a.x+" "+ a.y );
- }
- public static void main(String[] args)
- {
- Punkt a = new Punkt("a",4.0,3.0);//tworzenie nowego obiektu
- Punkt b = new Punkt("b",0,0);//tworzenie nowego obiektu
- System.out.println(obliczOdleglosc(a, b));
- krzywaGoniaca(a, b, 1.5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement