using System; namespace Science.Physics.GeneralPhysics { /// /// AngularVelocity /// public class AngularVelocity : Vector { private void SetDim() { this.DimensionMass = 0; this.DimensionLength = 0; this.DimensionTime = -1; } public AngularVelocity() { SetDim(); } public double radPERs { get{return this.Norm;} } public AngularVelocity(AngleVector thetai, AngleVector thetaf, Time t) { SetDim(); this.X = (thetaf.X-thetai.X)/t.Interval; this.Y = (thetaf.Y-thetai.Y)/t.Interval; this.Z = (thetaf.Z-thetai.Z)/t.Interval; } public AngularVelocity(AngleVector angle, Time t) { SetDim(); Vector res = VectorCalculus.TimeDerivative(angle, t); this.X = res.X; this.Y = res.Y; this.Z = res.Z; } public AngularVelocity(Time tInitial, AngularVelocity oInitial, AngularAcceleration a, Time tFinal) { SetDim(); Vector res = VectorCalculus.TimeIntegral(a, tInitial, tFinal); this.X = oInitial.X + res.X; this.Y = oInitial.Y + res.Y; this.Z = oInitial.Z + res.Z; } public override string ToString() { return base.ToString() + "(rad/s)"; } } }