dal poco codice che c'è non capisco benissimo la natura dei vari elementi.

intanto fai la prova che ti ho detto, poi prova anche:

$p_intersezione=$polygon->points([@array_tmp]);