次の 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 の物理的な外観は次のとおりです。2 つのアークは非常に区別できます。
この GraphicsPath.PathData 配列が 2 つの AddArc コマンドによって作成されたことはわかっています。デバッガーでコードをステップ実行すると、最初の 4 つの PathData 値が最初の AddArc コマンドによって追加され、残りの 6 つのポイントが 2 番目の AddArc コマンドによって追加されたことがわかりました。
生のパスポイント/パスタイプ配列を調べることで (2 つの AddArc コマンドであることを事前に知らなかったので、開始点と終了点が 2 つあることがわかります)、各アークの開始点と終了点を特定したいと思います。
配列内のポイントを「再作成」するためにいくつかのベジエ計算を試みましたが、個別の開始点と終了点を決定する方法を決定するのに途方に暮れています。GDI+ がアーク間の始点/終点を結合しているように見え (それらは同じ点であり、アークは接続されています)、1 つのアークが終了し、別のアークが開始しているという事実が失われています。
何か案は?