私は、2つの基点など[[5,10],[10,15]]
として格納された矩形のリストを持っています。それらはすべて1つの点から別の点への線と交差することがわかります。どの矩形が最初に線と交差するのかを調べる方法は?どの矩形の行が最初にヒットするか
0
A
答えて
1
ライン(二点によって定義される)パラメトリック方程式を有する
X = X0 + t * (X1 - X0)
Y = Y0 + t * (Y1 - Y0)
代替左または右(ライン方向に応じて)矩形のエッジが最初の方程式、上部または右座標の座標 - 第2式および検索エッジとの交差を提供するパラメータt
の最小値。
たとえば、最初の方程式の矩形の左端の値をtl
とします。このtl
値のY
を2番目の式から探し、Y
がtop..bottom
の範囲にあるかどうかを確認します。
矩形の位置とサイズに関する追加の制限事項や情報がありますか?矩形は一定に設定されていて、多くの行を使用していますか?または線が一定で、長方形のセットがいくつかありますか?
+0
それについて書きました。 'X1-X0'または' Y1-Y0'が0またはゼロに非常に近い(垂直線と水平線)場合は注意が必要です。それ以外に、四角形が重ならないと、最初の点に最も近い角があるものが勝者ですが、私は完全にはわかりません。これらは軸合わせ矩形であるため、交差点を見つけるだけでおそらく高速です。 – jdehesa
関連する問題
- 1. pyplotの矩形のアニメーション最初の矩形が表示される
- 2. 矩形が別の矩形に近いかどうかをチェックします。
- 3. 中央矩形から最も離れた矩形を取得
- 4. 行列(2D)のサブ矩形の最大和
- 5. 矩形の最も遠い点
- 6. 矩形内の矩形のサイズを計算する
- 7. 疎行列内の最大和小矩形
- 8. 矩形内の矩形を制限する
- 9. 1つの矩形を他の矩形内で可能な最大サイズに尺度変更するにはどうすればよいですか?
- 10. ユニティで矩形にする
- 11. 矩形の値にアクセスしますか?
- 12. OpenCVでの矩形行列計算
- 13. 最初のURLのセッションで2番目のURLにヒットするにはどうすればよいですか?
- 14. 座標による2次元形状の最小境界矩形の計算
- 15. JSON検索ループは最初のヒット後に停止します
- 16. 停止DIRコマンド最初のヒットがCMD.EXEで
- 17. 矩形をJavaで別の矩形に沿って移動する方法
- 18. Delphi - 矩形の中心に複数行テキストを描画する
- 19. ArrayList内に他のものを囲むJavaの最小矩形
- 20. JavaFXの矩形アニメーションを円にする
- 21. ポイントに対する矩形の位置
- 22. 不規則な形状に最小の矩形を適合させるアルゴリズム
- 23. Androidライブラリオーバーレイの矩形が消える
- 24. OpenCV:矩形を追跡する最良の方法
- 25. XNA/Cで矩形を移動する最善の方法#
- 26. Fabric.js - 矩形のダイナミッククロップエリア
- 27. 矩形キャンバスのエフェクトシャドウ
- 28. 開始矩形から最終位置へのスケール
- 29. UIViewの境界矩形をフレーム矩形よりも大きくすることができますか?
- 30. どのように矩形間の衝突を検出するのですか?
ラインの開始点の「x」座標とその下方の「x」座標との間の絶対差が最も小さいものが最も小さい。 – Kasramvd
種類はありますが、行が後ろ向きになるか上向きになるか –
これはすべて、最初に何を意味し、何が座標系の中心になるかに依存し、行には方向性がありません。また、矩形を垂直方向にソートしたときのように2つの矩形の差が等しい場合、垂直方向にも線が来る場合は、 'y'の違いを調べることができます。 – Kasramvd