   Rotating a vector
  I have 2 vectors, a which intercepts with c. I am trying to find the vector b (See picture)Here's what I'm doing atm:θ = cos-1 ((a.c)/|a||c|)let x = ax and y = aybx = x*cosθ - y*sinθby = x*sinθ + y*cosθbut this isn't giving me the expected results?   
  Sorry for the very brief reply, don't have much time.I'm assuming you are working in 2 dimensions. If so then first calculate the vector normal to C. This can be done using the formula: Cnorm = (-y, x), if C=(x,y). Normalize Cnorm.Then the vector b is given by:b = a - 2*(a.Cnorm)*CnormHope this helps.   ;  Yes, I am working in 2D.I fixed (I think) my method by using π-2θ instead of θ when calculating b.Could somebody explain Weasa's method please?   ;  See this article for details. Note that the reflection normal n is your c-vector, rotated 90 degrees.   