@akirasun i houdini 2000 ways... Blender
Grid, Noise ,bbox(0, D_XSIZE),Copy Sop, than
//on prim
vector min, max;
getbbox(min, max);
v@min = min;
v@max = max;
vector min = prim(geoself(), "min", 0);
vector max = prim(geoself(), "max", 0);
float height = chf("height");
float radius = chf("radius");
float rMin = radius;
float rMax = radius + height;
float r = fit(@P.y, min.y, max.y, rMin, rMax);
float radianMin = 0.0;
float radianMax = 2.0 * $PI;
float radian = fit(@P.x, max.x, min.x, radianMin, radianMax);
float x = r * cos(radian);
float y = r * sin(radian);
float z = 0;
@P = set(x, y, z);