hw3: fix normal calculations to cross in the right direction
hw3: refactor normal calculations to better reuse code
hw3: add normal calculation algorithm that weights by area