vertices = D1:100 D2:100

u = from 0 to (PI) D1
v = from 0 to (2*PI) D2

a = 10
b = rand2(0.25, 1)

m = a/2*(1 + cos(u))
n = a*a/64*(sin(2*u) + 2*sin(u))*b

x = n*cos(v)
z = n*sin(v)
y = array_max(m)-m