裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

2直線の交点座標を求めるプログラム(Python 版)

2019年08月01日 | ブログラミング

何故か相も変わらず「2直線の交点座標を求めるプログラム」がよく参照されている

そこにあるのは R プログラムなので,Python で書いたものをおまけに載せておこう

import numpy as np

def prog(x1, y1, x2, y2, x3, y3, x4, y4):
    if x1 == x2 and x3 == x4:
        x = y = np.nan
    elif x1 == x2:
        x = x1
        y = (y4 - y3) / (x4 - x3) * (x1 - x3) + y3
    elif x3 == x4:
        x = x3
        y = (y2 - y1) / (x2 - x1) * (x3 - x1) + y1
    else:
        a1 = (y2-y1)/(x2-x1)
        a3 = (y4-y3)/(x4-x3)
        if a1 == a3:
            x = y = np.nan
        else:
            x = (a1*x1-y1-a3*x3+y3)/(a1-a3)
            y = (y2-y1)/(x2-x1)*(x-x1)+y1
    return (x, y)

なんでこんなものが検索されるのやら?

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Cohen の d | トップ | 紙は何回折れるか? »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事