ホームページ  >  に質問  >  本文

javascript - js で点が三角形内にあるかどうかを判断するにはどうすればよいですか?

どのような数式が使用されますか?

巴扎黑巴扎黑2687日前1360

全員に返信(3)返信します

  • 滿天的星座

    滿天的星座2017-06-12 09:31:32

    計算幾何学におけるよくある質問

    があります。三角形の頂点の座標を A(x1,y1)、B(x2,y2)、C(x3,y3) とします△ABC,以及点O(x, y)

    点Oが△ABC内にあり、点Oと点Cが直線ABの同じ側にある場合、

    リーリー

    同様に、点Oと点Bは直線ACの同じ側にあり、点Oと点Aは直線BCの同じ側にあります。

    上記3つの条件が満たされていれば、点Oは△ABC内にあります。


    個人的にはこの方法の方が四則演算と大小判定だけで三角関数や平方根などの演算が無いので好みです。もっと良い方法があればアドバイスをお願いします。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-12 09:31:32

    重心座標系を通じて処理できます。
    参考リンク: https://en.wikipedia.org/wiki...

    テストする点を(x0, y0)、三角形の3つの点を(x1, y1)、(x2, y2)、(x3, y3)とする

    重心座標の定義によると:

    リーリー

    ここで、 a b c はそれぞれ 3 つの係数です。 a b c が両方とも 0 以上 1 以下である場合に限り、点 (x0, y0) は、点 (x1, y1)、点 (x2, y2)、および点 ( x3、y3)

    上記の定義から、 a b c の解を得ることができます:

    リーリー

    JSメソッドで書かれた:

    リーリー

    返事
    0
  • 漂亮男人

    漂亮男人2017-06-12 09:31:32

    これは単純ではありません
    例えば、点xには三角形の3つの角度a、b、cがあります
    xは角度の頂点です 3つの角度の合計
    axb bxc cxaが360度の場合、点xになります。三角形の中にあります

    たくさんの記事があります
    検索してください
    http://www.cnblogs.com/baie/a...

    返事
    0
  • キャンセル返事