예제 #1
0
        // Distance between this and aB
        public double DistBetweenPoints(Vect2D aB)
        {
            double xd = m_X - aB.m_X;
            double yd = m_Y - aB.m_Y;

            return(Math.Sqrt(xd * xd + yd * yd));
        }
예제 #2
0
        // this = this * aB
        public void CoMultTo(Vect2D aB)
        {
            double Xres, Yres;

            Xres = m_X * aB.m_X - m_Y * aB.m_Y;
            Yres = m_X * aB.m_Y + m_Y * aB.m_X;
            m_X  = Xres; m_Y = Yres;
        }
예제 #3
0
        // Vector from aP1 to aP2
        public static Vect2D Create(Vect2D aP1, Vect2D aP2)
        {
            Vect2D v1;

            v1.m_X = aP2.X - aP1.X;
            v1.m_Y = aP2.Y - aP1.Y;
            return(v1);
        }
예제 #4
0
        public Vect2D Add(Vect2D aVect)
        {
            Vect2D sum;

            sum.m_X = m_X + aVect.m_X;
            sum.m_Y = m_Y + aVect.m_Y;
            return(sum);
        }
예제 #5
0
        // Complex Mult = rot this by aB
        public Vect2D CoMult(Vect2D aB)
        {
            Vect2D v1;
            double Xres, Yres;

            Xres   = m_X * aB.m_X - m_Y * aB.m_Y;
            Yres   = m_X * aB.m_Y + m_Y * aB.m_X;
            v1.m_X = Xres; v1.m_Y = Yres;
            return(v1);
        }
예제 #6
0
        public double DiffAngle(Vect2D aB)
        {
            double ang = this.GetPhiGrad() - aB.GetPhiGrad();
            double ret;

            ret = ang;
            if (ang > 180)
            {
                ret = -360 + ang;
            }
            if (ang < -180)
            {
                ret = 360 + ang;
            }
            return(ret);
        }
예제 #7
0
        public static Vect2D Create(double aX, double aY, bool aPolar)
        {
            Vect2D v = Vect2D.ini;

            if (!aPolar)
            {
                v.m_X = aX; v.m_Y = aY;
            }
            else
            {
                // v.m_X = aX * Math.Cos(GRAD_RAD * aY);
                // v.m_Y = aX * Math.Sin(GRAD_RAD * aY);
                v.SetFrom_R_Phi(aX, aY);
            }
            return(v);
        }
예제 #8
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 public void Assign(Vect2D aVect)
 {
     m_X = aVect.m_X; m_Y = aVect.m_Y;
 }
예제 #9
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // this = this * aB
 public void CoMultTo(Vect2D aB)
 {
     double Xres, Yres;
     Xres = m_X * aB.m_X - m_Y * aB.m_Y;
     Yres = m_X * aB.m_Y + m_Y * aB.m_X;
     m_X = Xres; m_Y = Yres;
 }
예제 #10
0
 public double ScalarProd(Vect2D aB)
 {
     return(m_X * aB.m_X + m_Y * aB.m_Y);
 }
예제 #11
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // Distance between this and aB
 public double DistBetweenPoints(Vect2D aB)
 {
     double xd = m_X - aB.m_X;
     double yd = m_Y - aB.m_Y;
     return Math.Sqrt(xd * xd + yd * yd);
 }
예제 #12
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // this vector with Length aLenght
 public Vect2D GetScaledVersion(double aLenght)
 {
     m_tmp = GetNormalizedVersion();
     m_tmp = m_tmp.ScalarMult(aLenght);
     return m_tmp;
 }
예제 #13
0
 public void SubFrom(Vect2D aVect)
 {
     m_X = m_X - aVect.m_X;
     m_Y = m_Y - aVect.m_Y;
 }
예제 #14
0
 // this = this + aVect*aFactor
 public void AddTo(Vect2D aVect, double aFactor)
 {
     m_X = m_X + aVect.m_X * aFactor;
     m_Y = m_Y + aVect.m_Y * aFactor;
 }
예제 #15
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 public void SubFrom(Vect2D aVect)
 {
     m_X = m_X - aVect.m_X;
     m_Y = m_Y - aVect.m_Y;
 }
예제 #16
0
 // this = this + aVect
 public void AddTo(Vect2D aVect)
 {
     m_X = m_X + aVect.m_X;
     m_Y = m_Y + aVect.m_Y;
 }
예제 #17
0
 public void Assign(Vect2D aVect)
 {
     m_X = aVect.m_X; m_Y = aVect.m_Y;
 }
예제 #18
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // Complex Mult = rot this by aB
 public Vect2D CoMult(Vect2D aB)
 {
     double Xres, Yres;
     Xres = m_X * aB.m_X - m_Y * aB.m_Y;
     Yres = m_X * aB.m_Y + m_Y * aB.m_X;
     m_tmp.m_X = Xres; m_tmp.m_Y = Yres;
     return m_tmp;
 }
예제 #19
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // this = this + aVect*aFactor
 public void AddTo(Vect2D aVect, double aFactor)
 {
     m_X = m_X + aVect.m_X * aFactor;
     m_Y = m_Y + aVect.m_Y * aFactor;
 }
예제 #20
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // this = this + aVect
 public void AddTo(Vect2D aVect)
 {
     m_X = m_X + aVect.m_X;
     m_Y = m_Y + aVect.m_Y;
 }
예제 #21
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 public Vect2D Add(Vect2D aVect)
 {
     m_tmp.m_X = m_X + aVect.m_X;
     m_tmp.m_Y = m_Y + aVect.m_Y;
     return m_tmp;
 }
예제 #22
0
파일: Vect2D.cs 프로젝트: Leanfear/Laxy
 // Vector from aP1 to aP2
 public static Vect2D VectBetweenPoints(Vect2D aP1, Vect2D aP2)
 {
     m_tmp.X = aP2.X - aP1.X;
     m_tmp.Y = aP2.Y - aP1.Y;
     return m_tmp;
 }