比較的単純なことを解決する必要があります。n個の頂点の凸型2Dポリゴンと、「y」座標を持つ水平(!)線があります。必要なのは1つだけです。ポリゴンがこの線と交差しているかどうか(つまり、2つの交差があるかどうか)を確認することです。
私が考えることができる最も速いものは、ポリゴン内の最小/最大y座標を見つけ(2つの比較と2つのストアでn回繰り返されるループ)、次に最小y <=y<最大yであるかどうかを比較することです。
どういうわけか、これはもっと「数学的に」解決できると思いますが、私は常に遅いコードで終わります(たとえば、ベクトルの方法-n[i]とn[i + 1]の差を計算してから、それらを乗算したり、追加したりする必要があります- -2 cmps +ストアよりもはるかに遅い)。