rough implementation of sphere partial sampling
add square
fix bug?