Brushing up mathematics for computational design