P を単純であるが必ずしも凸であるとは限らない多角形とし、q を P 内にあるとは限らない任意の点とします。
P のエッジの最大数と交差する q から始まる線分を見つける効率的なアルゴリズムを設計してください。
言い換えれば、点 q に立っている場合、弾丸が最も多くの壁を通過するには、どの方向に銃を向ければよいでしょうか?
P の頂点を通過する弾丸は、1 つの壁に対してのみクレジットを取得します。
O(n log n) アルゴリズムが可能です。n は頂点またはエッジの数です。これはポリゴンであるため、エッジの数は頂点の数にほぼ等しくなります。
これは this this questionと同じですが 、答えを理解できませんでした。より具体的には、答えにはqが含まれていないようでした。また、ポリゴン上の各ポイントが頭とaになるため、頭と尻のことも明確ではありませんでしたそれが理にかなっている場合、各ポイントは 2 つのエッジに接続されているためです。ありがとう