Orz lzz。spa
挺神奇的東西,網上沒有多少資料,我也不是太懂,代碼什麼的都沒寫過,那就抄一下百度百科吧class
設在平面內給定一點\(O\)和常數\(k\)(\(k\not= 0\)),對於平面內任意一點\(A\),肯定\(A'\),使\(A'\)在直線\(OA\)上一點,而且有向線段\(OA\)與\(OA'\)知足\(OA \cdot OA'=k\),咱們稱這種變換是以\(O\)爲的反演中心,以\(k\)爲反演冪的反演變換,簡稱反演。稱\(A'\)爲\(A\)關於\(O(r)\)的互爲反演點。百度
當\(k>0\)時,有向線段\(OA\)與\(OA'\)同向,\(A\)與\(A'\)在反演極同側,這種反演變換稱爲正冪反演,亦叫雙曲線式反演變換。ant
當\(k<0\)時,有向線段\(OA\)與\(OA'\)反向,\(A\)與\(A'\)在反演極異側,這種反演變換稱爲負冪反演,亦叫橢圓式反演變換。math
信息學中有幾條經常使用的正冪反演的性質
這裏的原點指的是反演中心
過原點的直線反演後仍爲過原點的直線
不過原點的直線反演後爲過原點的圓
過原點的圓反演後爲不過原點的直線
不過原點的圓反演後爲不過反演中心的圓
所以不少關於圓的題目能夠轉化爲直線問題來作
給一個點集,問有多少個三元組,和原點四點共圓
• \(N \leqslant1000\).
對點進行反演,問題就轉化爲了三點共線問題