/* Une classe stockage de segment de droite */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Novembre 2009 */ public class Segment { public Position2D pi; public Position2D pf; public Segment() { pi = new Position2D(); pf = new Position2D(); } public Segment(float xi,float yi,float xf,float yf) { pi = new Position2D(xi,yi); pf = new Position2D(xf,yf); } public Segment(Position2D pi,Position2D pf) { this.pi = new Position2D(pi); this.pf = new Position2D(pf); } public Segment(Segment s) { pi = new Position2D(s.pi); pf = new Position2D(s.pf); } public float abscisse(float y) { if ( pf.x != pi.x ) { float a = (pf.y-pi.y) / (pf.x-pi.x); float b = pi.y - a*pi.x; return((y-b)/a); } else return(pf.x); } public float ordonnee(float x) { float a = (pf.y-pi.y) / (pf.x-pi.x); float b = pi.y - a*pi.x; return(a*x+b); } public String toString() { return("["+pi+","+pf+"]"); } }