Допустим, вы хотите сделать некоторые простые вычисления вектора:Java Vector Math читаемость
//this could be C++
MyVectorType position = ...;
MyVectorType velocity = ...;
float dt;
//Here's the expression I want to calculate:
position += dt*velocity;
Теперь предположим, что вы хотите сделать это в Java. Нет перегрузки оператора - хорошо, я могу жить без.
//this still could be C++
MyVectorType position = ...;
MyVectorType velocity = ...;
float dt;
//Here's the expression I want to calculate:
position.add(velocity.times(dt));
Я бы сказал, что это менее читаемо, но все еще в порядке. Как написать код выше в Java? Я думал, что я хотел бы использовать javax.vecmath
:
//my attempt in Java
Vector3f velocity = new Vector3f(...);
Vector3f position = new Vector3f(...);
float dt;
//Here's the expression I want to calculate - three lines.
Vector3f deltaPosition = new Vector3f(velocity);
deltaPosition.scale(dt);
position.add(deltaPosition);
ли это действительно необходимо, чтобы эти три линии, чтобы выполнить такую простую операцию? Для людей, привыкших читать математические выражения, я думаю, что это боль, тем более что операции становятся более сложными. Кроме того, писать такие выражения на самом деле не очень приятно.
Я что-то упустил? Или есть другой векторный математический пакет, который приводит к более читаемому коду?
Цепочка - это путь в джаву, говорит. –