zone plate generator function