def _hor_matrix(self, C, P):
S = (P - C).unit                        <EOL>return Matrix(<NUM_LIT:1>, <NUM_LIT:0>, <NUM_LIT:0>, <NUM_LIT:1>, -C.x, -C.y) * Matrix(S.x, -S.y, S.y, S.x, <NUM_LIT:0>, <NUM_LIT:0>)<EOL>
Given two points C, P calculate matrix that rotates and translates the vector C -> P such that C is mapped to Point(0, 0), and P to some point on the x axis