Vector2D

[ Java ]

26 Jun 2012

public final class Vector2D implements iVector {
        private Double m_x, m_y;
        public Vector2D() {
                m_x = 0.0;
                m_y = 0.0;
        }
        public Vector2D(double x, double y) {
                m_x = x;
                m_y = y;
        }
        public int dimension() // размерность
        {
                return 2;
        }
        public double getComponent(int i) // возвращает компоненту вектора
        {
                return i == 0 ? m_x : m_y;
        }
        public double scalar(iVector v) {
                return m_x * v.getComponent(0) + m_y * v.getComponent(1);
        }
        public double len() {
                return Math.sqrt(m_x * m_x + m_y * m_y);
        }
        public Vector2D multiply(double factor) {
                m_x = m_x * factor;
                m_y = m_y * factor;
                return new Vector2D(m_x, m_y);
        }
        public Vector2D add(iVector v) {
                m_x = m_x + v.getComponent(0);
                m_y = m_y + v.getComponent(1);
                return new Vector2D(m_x, m_y);
        }
        public Vector2D sub(iVector v) {
                m_x = m_x - v.getComponent(0);
                m_y = m_y - v.getComponent(1);
                return new Vector2D(m_x, m_y);
        }
}

 

Исходники доступны на GitHub