私はポイント間のすべての可能なラインを生成するコードがあります。どのようにして2つの点の間に線分を作成し、その線と交差する点の数を調べますか?
import matplotlib.pyplot as plt
import matplotlib.lines as lines
import itertools
fig=plt.figure()
ax=fig.add_subplot(111)
all_data = [[1,10],[2,10],[3,10],[4,10],[5,10],[3,1],[3,2],[3,3],[3,4],[3,5]]
x, y = zip(*all_data)
plt.scatter(x,y)
for pair in itertools.combinations(all_data,2):
line=lines.Line2D(*zip(*pair))
line.set_color('brown')
ax.add_line(line)
plt.show()
を私はそれぞれの行が交差するどのように多くのポイントします。 (ポイントは青)
次の2本の最高のフィットラインを取得しようとしていますか? RANSACを試してみてください(つまり、2つのランダムな点を選び、線を通し、線から1.0以上の距離を持つすべての点を取り除き、回帰近似を行います)。 – Unapiedra