あいも変わらず,
2直線の交点座標を求めるプログラム
https://blog.goo.ne.jp/r-de-r/e/e81316c26c521b31e9d47526f9bd5861
がよく参照されているが,わけわからん。
そこで,Julia の SymPy で書いたものも掲載しておく。
これが「わけわからん」という人もいるだろうが。
using SymPy
@syms a b c d x
function func(a, b, c, d)
if a != c
eq1 = a*x + b
eq2 = c*x + d
x2 = solve(Eq(eq1, eq2), x)[1]
y2 = simplify(eq1(x => x2))
println("x = $x2, y = $y2")
elseif b == d
println("2直線はまったく同じなので,交点は無数にあります")
else
println("2直線は平行なので,交点はありません")
end
end
記号変数で呼び出すと,数式で答えが返ってくる。
func(a, b, c, d)
x = (-b + d)/(a - c), y = (a*d - b*c)/(a - c)
数値で呼び出すと,然るべき答えが返ってくる。
func(2, 3, 1, -4)
x = -7, y = -11
func(1, 2, 1, 2)
2直線はまったく同じなので,交点は無数にあります
func(1, 2, 1, 5)
2直線は平行なので,交点はありません