1

数学を扱うのは久しぶりで、少しさびています。ばかげた質問をしてもいいです。

問題: 2D 点の配列としてメモリに保存されている n 対の線があるため、明示的な関数はありません。対の線が平行かどうかを確認する必要があります。導関数が同じかどうかを確認するだけで十分なので、これは非常に簡単な作業です。

アルゴリズムでこれを行うには、(私が持っている) 関数の 2 点間の直線の傾きを確認する必要があります。極端な精度は必要ないため、次の簡単な式を使用できます。

m = (y2-y1)/(x2-x1)

しかし明らかに、これは x2 = x1 という大きな問題につながります。この場合のデフォルト値を指定できません...どうすれば回避できますか?

4

1 に答える 1

3

2D で勾配を比較する別の方法は次のとおりです。

    m1 = (y2-y1)/(x2-x1)

    m2 = (y4-y3)/(x4-x3)

as m1 = m2


(y2-y1)*(x4-x3) = (y4-y3)*(x2-x1) if lines are parallel 

これはゼロ除算を行わず、浮動小数点除算を回避するため、より効率的です。

于 2013-11-14T09:41:39.813 に答える