javascript - js で点が三角形内にあるかどうかを判断するにはどうすればよいですか?
巴扎黑
巴扎黑 2017-06-12 09:29:32
0
3
1351

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

巴扎黑
巴扎黑

全員に返信(3)
滿天的星座

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

があります。三角形の頂点の座標を 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

重心座標系を通じて処理できます。
参考リンク: 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
漂亮男人

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!