幾何

AOJ - Problem 0116 : Area of Polygon

問題文 円に内接する2つの多角形の面積の大きさを比較する問題です。 三角形の面積は(半径)*(半径)*sinθ÷2で計算できます。 面積の大きさの比較だけなので半径を1として(÷2)を省略しても問題ないでしょう。 #include <iostream> #include <vector> #include <cmath> using namespace s</cmath></vector></iostream>…

AOJ - Problem 0035 : Is it Convex?

問題文 線分ACと直線BD,あるいは直線ACと線分BDのどちらかが交差していない場合は、 凹みのある四角形です。 線分や縁の交差判定はよく使うので慣れておきたいものです。 #include <complex> #include <cstdio> #include <cmath> using namespace std; // 点座標を型とする typedef </cmath></cstdio></complex>…

AOJ - Problem 0023 : Circles Intersection

問題文 円と円が交わっていないか、交わっているか含まれているかを判定して出力する問題です。 2点間の距離と2つの円の半径の大小関係から判定できます。円のどちらかが含まれている場合は 半径を比較して小さい円が大きい円に含まれています。 #include <iostream></iostream>…

AOJ - Problem 0021 : Parallelism

問題文 4つの点A, B, C, Dがあり、直線ABとCDが平行か判定する問題です。 幾何問題の中では初歩的な問題です。 幾何問題のベクトル演算にかんする解説がACM/ICPC国内予選突破の手引きにあり、分かりやすいです。 幾何の基本的なベクトル演算はこのサイトを…

AOJ - Problem 0012 : A Point in a Triangle

問題文 三角形の内部に点があるかどうか判定する問題です。 三角形の頂点3つを角A,B,C、判定する点をPとすると角APB,BPC,CPAの角度の和が 360°なら内部にあると判定する方法でOKです。 もしかすると他の解法もあるかもしれません。 Problem 0010 : Circumsc…

AOJ - Problem 0010 : Circumscribed Circle of a Triangle

問題文 外接円の半径と外心を出力する問題です。 外接円と外心は高校生のときに習った記憶があります。 高校の教科書にも載っていると思います。 三角形が出てくるような幾何の問題では、正弦定理や余弦定理を使うことがあります。 外接円(wikipedia) 三角形…