using System; namespace Science.Physics.GeneralPhysics { /// /// Position /// public class Position : Vector { private void SetDim() { this.DimensionMass = 1; this.DimensionLength = 0; this.DimensionTime = 0; } public Position() { SetDim(); } public Position(Vector.FunctionOfTime func) : base(func) { SetDim(); } private Velocity velo; private int component; public Position(Time tInitial, Position xInitial, Velocity v, Time tFinal) { SetDim(); velo = v; Calculus.Function del2 = new Calculus.Function(Func2); component = 0; this.X = xInitial.X + Calculus.Integration1D(del2, tInitial.s, tFinal.s); component = 1; this.Y = xInitial.Y + Calculus.Integration1D(del2, tInitial.s, tFinal.s); component = 2; this.Z = xInitial.Z + Calculus.Integration1D(del2, tInitial.s, tFinal.s); } private double Func2(double t) { Time time = new Time(); time.s = t; velo.Set(time); if(component==0) return velo.X; else if(component==1) return velo.Y; else return velo.Z; } public double m { get{return this.Norm;} } public override string ToString() { return base.ToString() + "(m)"; } } }