prevent div by 0 in normal calc

check for and discard 0-length and colinear vectors