public class Tasandinihe{ /** * Nihke koordinaatide väärtused. Piiritleja final rea ees näitab, et * väärtusi pärast algset omistamist enam muuta ei saa. */ final double x, y; public Tasandinihe(double ux, double uy){ x=ux; y=uy; } /** * Nihe arvutatakse etteantud kahe punkti koordinaatide järgi */ public Tasandinihe(double x1, double y1, double x2, double y2){ x=x2-x1; y=y2-y1; } int X(){ return (int)x; } int Y(){ return (int)y; } double pikkus(){ return Math.sqrt(x*x+y*y); } /** * Vahe samast punktist lähtuvate nihete otspunktide vahel. */ double kaugus(Tasandinihe t1){ return t1.miinus(this).pikkus(); } /** * Väljastatakse nihke väärtuse ja teguri korrutis. * Nihe ise jääb muutmata. */ Tasandinihe korda(double tegur){ return new Tasandinihe(x*tegur, y*tegur); } /** * Väljastatakse käesoleva ning parameetrina antud nihke summa. * Mõlema nihke enese väärtus jääb muutmata. */ Tasandinihe pluss(Tasandinihe t1){ return new Tasandinihe(t1.x+x, t1.y+y); } Tasandinihe miinus(Tasandinihe t1){ return this.pluss(t1.korda(-1)); } /** * Suund keeratakse täisnurga jagu vastupäeva. */ Tasandinihe keera(){ return new Tasandinihe(-y, x); } }