Алгоритм знаходження замкнутих контурів

алгоритм

Завдання зводиться до того що знайти замкнуті контури з існуючих сплайнов. Просто перевіряти початки і кінці сплайнів не підходить, оскільки сплайн може утворювати замкнуті вузли. Додаю також малюнок щоб було зрозуміліше що потрібно.

На малюнку показані лінії та випадки коли контур виходить замкнутим, а коли ні. Різними кольорами позначені різні сплайни, тобто контур може бути утворений набором сплайнів.

знаходження

замкнутих

Bitter, та ось незнаю як сформулювати це словами :( В голову нічого не спадає, тому і намалював картинки.

Ну, наприклад, той замкнутий чотирикутник по суті має 5 точок, 4 - які намальовані і одна яка лежить на одній з чотирьох намальованих точок, тим самим замикаючи контур. В цьому випадку достатньо перевірити початкову і кінцеву точку, і якщо їх координати збігаються, значить можна зробити висновок, що контур замкнутий, але як бути коли в одному сплайні утворюються безліч замкнутих трикутників, чотирикутників або багатокутників (як показано на зафарбованому багатокутнику)? А якщо контур замикають не один сплайн, а кілька (як показано на багатобарвнику)?

Earnest, мені потрібно не просто визначити, чи є замкнуті, але й знайти всі ці точки, щоб можна було зафарбувати ці контури.