Advertisement
alvsjo

presjek duži

Jan 17th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.80 KB | None | 0 0
  1. public class Duz {
  2. Tacka poc, kraj;
  3.    
  4.     double duzina()
  5.     {
  6.         return poc.dist(kraj);
  7.     }
  8.    
  9.     boolean sadrziTacku(Tacka t)
  10.     {
  11.         double s1=poc.dist(t);
  12.         double s2=kraj.dist(t);
  13.         if (s1+s2==this.duzina())
  14.             return true;
  15.         return false;
  16.     }
  17.    
  18.     Tacka presjek(Duz B)
  19.     {
  20.         if (this.sadrziTacku(B.poc))
  21.             return B.poc; //presjek je zapravo duz
  22.         if (this.sadrziTacku(B.kraj))
  23.             return B.kraj; //presjek je zapravo duz
  24.        
  25.         double k1=(this.kraj.y-this.poc.y)/(this.kraj.x-this.poc.x);
  26.         double k2=(B.kraj.y-B.poc.y)/(B.kraj.x-B.poc.x);
  27.        
  28.         double xx=((k1*this.poc.x)-this.poc.y-(k2*B.poc.x)+B.poc.y)/(k1-k2);
  29.         double yy=(k1*xx)-(k1*this.poc.x)+this.poc.y;
  30.         Tacka pres=new Tacka();
  31.         pres.x=xx;
  32.         pres.y=yy;
  33.        
  34.         if (this.sadrziTacku(pres)) return pres;
  35.         return null;
  36.        
  37.        
  38.     }
  39.    
  40.    
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement