Back to index

wims  3.65+svn20090927
PointSurDroite.java
Go to the documentation of this file.
00001 package geo ;
00002 
00007 public class PointSurDroite extends pointlibre
00008 { public Droite d ;
00009 
00014   public PointSurDroite (int X, int Y, Droite d, String Nom, Repere R)
00015   { super (R.Abs (X), R.Ord (Y), Nom, R) ; this.d = d ; point () ; }
00016 
00021   public PointSurDroite (double x, double y, Droite d, String Nom, Repere R)
00022   { super (x, y, Nom, R) ; this.d = d ; point () ; }
00023 
00029   public void bouge (int X, int Y)
00030   { if (deplace && defini && R.affiche (X, Y))
00031       { Xp = this.X ; Yp = this.Y ;
00032         x = R.Abs (X) ; y = R.Ord (Y) ;
00033         double k = (d.a * x + d.b * y + d.c) / (d.a * d.a + d.b * d.b) ;
00034         x = x - k * d.a; y = y - k * d.b ;
00035         this.X = R.Iabs (x); this.Y = R.Iord (y) ;
00036       }
00037   }
00038 
00043   public void point ()
00044   { if (d.defini) { double k = (d.a * x + d.b * y + d.c) / (d.a * d.a + d.b * d.b) ;
00045                     x = x - k * d.a ; y = y - k * d.b ;
00046                     Xp = X = R.Iabs (x) ; Yp = Y = R.Iord (y) ; }
00047     defini = d.defini;
00048   }                   
00049 
00050 }