algoritmo para definir uma geofência e ver se um ponto está dentro/fora dele

Estou à procura de um algoritmo através do qual posso criar uma geofência e verificar se um dispositivo está a entrar/a ... r aplicados ao círculo e quaisquer formas irregulares também? A restrição importante é a eficiência do tempo. Obrigado.