Если вы хотите создать вектор в 2-мерном пространстве, не могли бы вы просто пойти с простым 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);
В трехмерном пространстве я бы создал свой собственный класс или совершенно другую структуру данных в зависимости от вашей актуальной проблемы.
Редактировать: Я надеюсь, что он нашел решение за последние 3 года ..