import java.applet.Applet; import java.awt.event.*; import java.awt.*; /**This class does the basic interval arithmetic of vectors */ public class IntervalVector { Interval[] x=new Interval[3]; /**constructors **/ public IntervalVector() {} public IntervalVector(Interval xx,Interval yy,Interval zz) { x[0]=new Interval(xx); x[1]=new Interval(yy); x[2]=new Interval(zz); } /**printout**/ public void print() { for(int i=0;i<3;++i) { System.out.print("["+x[i].l+" , "+x[i].r+"] "); } System.out.println(); } /**The special vector**/ public static IntervalVector northPole() { IntervalVector V=new IntervalVector(new Interval(0.0),new Interval(0.0),new Interval(1.0)); return(V); } /**basic operations**/ public static Interval dot(IntervalVector v,IntervalVector w) { Interval I=new Interval(0.0,0.0); for(int i=0;i<3;++i) I=Interval.plus(I,Interval.times(v.x[i],w.x[i])); return(I); } public static IntervalVector plus(IntervalVector v,IntervalVector w) { IntervalVector X=new IntervalVector(); for(int i=0;i<3;++i) { X.x[i]=Interval.plus(v.x[i],w.x[i]); } return(X); } public static IntervalVector minus(IntervalVector v,IntervalVector w) { IntervalVector X=new IntervalVector(); for(int i=0;i<3;++i) { X.x[i]=Interval.minus(v.x[i],w.x[i]); } return(X); } public static Interval dist(IntervalVector v,IntervalVector w) { IntervalVector X=minus(v,w); Interval D=dot(X,X); if(D.l<0) return(new Interval(0)); D=Interval.sqrt(D); return(D); } }