Это проблема, которую трудно объяснить словами, хотя я легко запечатлел ее в своей голове. Дайте мне знать, если мое объяснение ниже не ясно.
Допустим, пользователь рисует на 2d поверхности. Они рисуют кривые, скажем, с помощью мыши или стилуса. Для ясности определения я скажу, что кривая состоит из начальной точки (точки, в которой стилус изначально опущен), промежуточных точек (точек, где стилус перетаскивается) и конечной точки ( конечная точка, где пользователь поднимает стилус с поверхности).
Как я могу определить, создает ли кривая пользователей какую-либо замкнутую фигуру? Например, если вы размыли глаза и посмотрите на рисунки ниже («.» Обозначает точки на кривой, «0» обозначает точки не на кривой), первый создает замкнутое пространство, второй не .
0000000000000000
0000..0000000000
000.00.000000000
00.000.000000000
00.00.0000000000
000...0000000000
0000000000000000
000.000000000000
0000.00000000000
00000.0000000000
00000...00000000
0000000.00000000
00000000.0000000
0000000000000000
Дополнительно , учитывая некоторую точку (x1, y1), как я могу определить, находится ли эта точка внутри или снаружи замкнутого пространства?