Writing `vecr` as a linear combination of `veca , vecb and veca xx vecb` . We have
`vecr=xveca+yvecb+z(vecaxxvecb)`
for scalars x,y and z
`0=vecr.veca=x|veca|^(2)+yveca.vecb " " ("taking dot product with "veca)1`
`1- vecr.vecb=xveca.vecb+y|vecb|^(2)" " ("taking dot product with"vecb)`
Solving , we get y `(|veca|^(2))/(|veca|^(2)|vecb|^(2)-(veca.vecb)^(2))=|veca|^(2)`
`and x=(veca.vecb)/((veca.vecb)^(2)-|veca|^(2)|vecb|^(2))=veca.vecb`
Also `1=[vecr vecavecb]=z|vecaxxvecb|^(2) " " ("taking dot product with "vecaxxvecb)`
`z=1/(|vecaxxvecb|^(2))`
`vecr=((veca.vecb)veca-|veca|^(2)vecb)+(vecaxxvecb)/(|vecaxxvecb|^(2))`
`=vecaxx(vecaxxvecb)+(vecaxxvecb)/(|vecaxxvecb|^(2))`