アークが私が思っているとおりであることを願っています (英語は私の言語ではありません)。これが私がやった方法です。最後の関数は問題を解決する関数で、前の関数はユーティリティです。それは正常に動作します。アイデアは、円と線の間の交点を計算し、円弧または線分上にない交点を拒否することです。
注 : 円弧は、その中心 (xc,yc)、半径、および 2 つの角度によって定義されます。2 つの角度が 2 つの円弧 (反時計回りと時計回り) を定義するため、円弧は最初の角度から 2 番目の角度まで反時計回りに進むと仮定しました。両方の角度は [0,2.PI[ にあるため、円弧が (xc+R,yc) を通る場合、最初の角度は 2 番目の角度よりも大きくなければなりません。
コードは C++ です。それを疑似コードに戻す時間はありませんでした。お役に立てば幸いです。
アークが私が思っているとおりであることを願っています (英語は私の言語ではありません)。これが私がやった方法です。最後の関数は問題を解決する関数で、前の関数はユーティリティです。それは正常に動作します。アイデアは、円と線の間の交点を計算し、円弧または線分上にない交点を拒否することです。
注 : 円弧は、その中心 (xc,yc)、半径、および 2 つの角度によって定義されます。2 つの角度が 2 つの円弧 (反時計回りと時計回り) を定義するため、円弧は最初の角度から 2 番目の角度まで反時計回りに進むと仮定しました。両方の角度は [0,2.PI[ にあるため、円弧が (xc+R,yc) を通る場合、最初の角度は 2 番目の角度よりも大きくなければなりません。
コードは C++ です。それを疑似コードに戻す時間はありませんでした。お役に立てば幸いです。
URL : http://www.fichiers.univ-metz.fr/depot/minich/SegmentArcIntersection.txt
利用可能 2 週間!