2つの線の交点を見つける方法は?

2つの線の交点を見つける方法は?

私は2行の交差点を見つけるためにgrepを取得しようとしました。

grep -Fx -f line1.txt line2.txt

入力ファイルの内容:

行1.txt:

44.5   -125.0    
44.0   -124.5    
43.0   -124.3    
42.0   -124.0

行2.txt:

43.0 -128.0    
43.1 -127.0    
43.2 -126.0    
43.3 -125.0    
43.4 -124.0    
43.5 -123.0    
43.6 -122.0    
43.7 -121.0

問題は、これら2つの行がまったく同じではないことです。

交差点を簡単に見つけることができる人はいますか?

下の画像は、2本の線とおおよその交点を示しています。 ここに画像の説明を入力してください。

私のために交差点を探す命令があったらと思います。たぶんgrepはこれを行うことができませんか?また、GMTコマンドを試しましたが、うまくいきませんでした。どんな提案がありますか?

交差点に最も近い line2.txt ポイントを見つけて書き込むコマンドを選択します。

ここに画像の説明を入力してください。

ベストアンサー1

Grepは間違いなく間違ったツールです! sedは数学をしなければならないのであまり良くありません。 Perlは候補ですが、最も重要なことは、線交差テストが必要であるということです。以下は、始めるのに役立ついくつかのリンクです。幸いなことに、Unixはプログラムを書く必要があるため、プログラムを書くための素晴らしいプラットフォームです。

https://en.wikipedia.org/wiki/Line_segment_intersection

https://stackoverflow.com/questions/563198/whats-the-most-efficent-way-to-calculate-where-two-line-segments-intersect

おすすめ記事