Есть допустим такой полигон.

Мы проводим линии следующим образом.

В итоге должно получиться 3 полигона (на рисунке показаны цифрами)
Как это реализовать программно?
(программно нужно потому что пишу софтину на С#, используя движок мапинфо, отсылая ему команды мипбейсика)
Или вообще как это сделать?