幾何

判別式・2点を通る直線・2次方程式の解(x1,x2)

タイトルにある3つを関数化した // 判別式 ll discriminant(ll a, ll b, ll c){ return b*b - 4*a*c; } // 2次方程式の解(x1, x2) pair<ld,ld> quadratic_equation(ll a, ll b, ll c){ ll D = discriminant(a,b,c); ld x1 = (-b-sqrt(D))/(2*a); ld x2 = (-b+sqrt(D</ld,ld>…

2点を通る円の中心を(2つ)求める AOJ 1132 Circle and Points 円で囲める点の最大値

設定 2次元平面上の2点を与えられた時、そこを通る円が存在するなら2つある その円の中心2つを求めたい 半径rは与えられるとする 解法 2次元ベクトルで考える(プログラム的には複素数complexを利用する) 2点の中央cから垂直方向に単位ベクトルnを…

線分の交差判定 c++ Judgment of intersection of line segments

http://perogram.hateblo.jp/entry/abc016_4 この記事を関数として切り出した ※1番上のを安易に使うと誤判定する場合があります 関数(追記:❌) // 交差判定セット typedef complex<double> C; double cross(C a, C b){ return a.real() * b.imag() - a.imag() * b.</double>…