normal derivation, using 4 points now for ngons