Подтвердить что ты не робот

Можете ли вы добавить векторное дополнение в Java, изначально?

Я знаю, что есть класс Vector в java, но это, кажется, просто более простая сделка типа ArrayList, а не фактический математический вектор (как по величине и направлению).

Есть ли способ сделать векторные манипуляции (в частности, дополнение) в Java? Или я застрял на собственном желании реализовать его или использовать сторонний модуль?

4b9b3361

Ответ 1

Да, вам нужно написать класс или использовать библиотеку, такую ​​как JScience

Ответ 2

Я не думаю, что есть встроенный способ сделать добавление векторов, однако я нашел серию, описывающую, как это может быть сделано.

Ответ 3

Если вы хотите сделать вектор в 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 года.

Ответ 4

Java3D имеет различные формы векторных классов (Vector3d, Vector3f, Vector4d и т.д.). Java3D, конечно, несколько рискованно в эти дни, хотя, как кажется, для отказа.

Ответ 5

Да, вам нужно будет написать библиотеку (или использовать стороннюю библиотеку) для выполнения векторной арифметики.

Ответ 6

Я знаю, что это старо, но, возможно, кто-то найдет это полезным:

Существует также Apache Commons Math, который имеет Vector2D.