class Random2DPolygon(object):
    def value(self, vec):
        bs = self.basis.values(vec)
        return np.dot(bs, self.pars)[0]
    
    def __init__(self, power):
        self.basis = MonomialBasis(power)
        self.pars = np.random.randn(self.basis.basis_length())
 def __init__(self, power):
     self.basis = MonomialBasis(power)
     self.pars = np.random.randn(self.basis.basis_length())