Vector spinorBetween(Vector vec) { var d = lengthSqr; var r = (vec.x * x + vec.y * y) / d; var i = (vec.y * x - vec.x * y) / d; return Vector(r, i); }