Я для таких целей разработал минимальную Vec2 библиотеку для работы с 2D векторами:
https://github.com/Maksims/tanx/blob...odules/vec2.js
И очень удобно использовать.
Для производительности не забудь recycle'ить векторы, вызывая .delete на вектор. Чтобы следующий .new его мог использовать.