AOJ0010 - Circumscribed Circle of a Triangle
計算するだけなんですけど,色々と面倒臭かった.
各点から円の中心までの距離(つまり半径)が全て等しいことを考える.
各点を と置く.
また中心の座標を と置く.
半径が等しいということは
これらを連立方程式として解けばとが求まる.
連立方程式は以下のようになる.
行列を用いて,
\begin{pmatrix} 2(x_1 - x_2) & 2(y_1 - y_2) \\ 2(x_1 - x_3) & 2(y_1 - y_3) \\ \end{pmatrix}
の逆行列と
\begin{pmatrix} x_1^2 + y_1^2 - x_2^2 - y_2^2 \\ x_1^2 + y_1^2 - x_3^2 - y_3^2 \\ \end{pmatrix}
の積を求めればよい.
また,半径の長さは先程の どれか一つに代入して求める.
コード
#define sq(x) ((x) * (x)) signed main() { int n; scanf("%d", &n); while (n--){ double x1, y1, x2, y2, x3, y3; scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3); double a = 2 * (x1 - x2), b = 2 * (y1 - y2), c = 2 * (x1 - x3), d = 2 * (y1 - y3); double e = sq(x1) + sq(y1) - sq(x2) - sq(y2), f = sq(x1) + sq(y1) - sq(x3) - sq(y3); double x = (1 / (a * d - b * c)) * (d * e - b * f), y = (1 / (a * d - b * c)) * (-c * e + a * f); double r = sqrt(sq(x - x1) + sq(y - y1)); printf("%.3f %.3f %.3f\n", x, y, r); } return 0; }
工藤忍は最高や!!ということをプレゼンした(LT)
こんにちは.kurokojiです. 今回は2016/5/12(Thur)に発表したLTについてです.
(記事にするの1ヶ月遅れたおじさんの顔)
スライド
LT
今まで一番楽しかった.自分が好きなことだからやっぱり楽しいよね.
以下忍の話
忍担当です
最初に手に入れたRの帽子を被った垢抜けないような格好(それはそれであり(画像は「工藤忍」でggったら分かると思う))から R+で前髪を出し,左足を後ろに上げ,とてもキュートな姿に瞬間にぼくは
尊い 優勝 天才 神
と感じました.
モバマス始めた
デレステからシンデレラガールズを知りましたが,Pになるにはやはりモバマスもやるべきではと思い,始めました.(結構前に) 最近やっと慣れてきた感じです.
第5回シンデレラガール総選挙
残念ながらランクインならずでしたね. 全て忍に投票したのですがモバマスは未だに無課金故に,ぼく個人の数が圧倒的に少なすぎました.反省点です.
しかし,忍が所属するグループ『フリルドスクエア』のメンバー「喜多見柚」が大健闘の全体11位,Pa4位でした.すごい.
この影響で忍のみならずフリルドスクエアメンバーの人気も上がってほしいです.
ということでね
これからも頑張りたいと思います.