Если вы хотите сделать вектор в 2d-пространстве, не могли бы вы просто пойти с простым Point2D(x,y)
и позволить длине вашего вектора определить величину?
Так, чтобы Point2D a = new Point2D(1,1);
величина 1,4 и направление NE. И Point2D b = new Point2D(2,2);
имеет одно и то же направление, но значение 2,8 ...
Дополнение было бы просто: Point2D c = new Point2D(a.x + b.x, a.y + b.y);
В 3d-пространстве я бы создал свой собственный класс, или совершенно другая структура данных в зависимости от вашей фактической проблемы.
Изменить: Надеюсь, он нашел решение за последние 3 года ..