У меня есть следующие массивы PathPoints и PathTypes (формат: X, Y, Type):
-177.477900, 11021.670000, 1
-614.447200, 11091.820000, 3
-1039.798000, 10842.280000, 3
-1191.761000, 10426.620000, 3
-1591.569000, 10493.590000, 3
-1969.963000, 10223.770000, 3
-2036.929000, 9823.960000, 3
-2055.820000, 9711.180000, 3
-2048.098000, 9595.546000, 3
-2014.380000, 9486.278000, 3
Вот как физически выглядит этот GraphicsPath. Две дуги очень различимы:
Я знаю, что этот массив GraphicsPath.PathData был создан двумя командами AddArc. Пройдясь по коду в отладчике, я увидел, что первые 4 значения PathData были добавлены первой командой AddArc, а оставшиеся 6 точек добавлены второй командой AddArc.
Изучив необработанные массивы точек пути/типа пути (предварительно не зная, что это были 2 команды AddArc, чтобы я знал, что у меня есть 2 начальная и конечная точки), я хотел бы определить начальную и конечную точки каждой дуги.
Я пробовал несколько вычислений Безье, чтобы «воссоздать» точки в массиве, но не могу определить, как определить отдельные начальную и конечную точки. Похоже, что GDI+ объединяет начальную/конечную точку между дугами (это одна и та же точка, а дуги соединены), и я теряю тот факт, что одна дуга заканчивается, а другая начинается.
Любые идеи?