AOJ 2562 : Rings

Rings | Aizu Online Judge

問題概要

  • 三次元上に円が2つ与えられます。
  • 円同士が交差しているか判定してください。

解法

  • 平面同士でカットしたときの直線を得る。
  • 円1の中心から距離rであるようなその直線上の点を二点得る(二点無かったらだめ)
  • 得た二点が円2の内部と外部であればYES
ソースコード

感想

重要なのはproj()とprojLen()

三次元幾何の知見が得られた。