直線・丸をドラッグ:平行移動 / 四角:回転 / 背景:移動
直線を動かす。5つの接点が追いかける。双対原理を、手で確かめる。
「どの3点も同一直線上にない5点を通る非退化な2次曲線は、ただ1つ存在する」。これを双対にすると、「どの3直線も共点でない5直線に接する非退化な2次曲線は、ただ1つ存在する」となります。ここで共点には無限遠での交点も含めます。直線の重複も条件を満たしません。
直線 ax + by + c = 0 を双対平面の点 [a : b : c] と見ます。対称行列 D を使った条件 ℓᵀDℓ = 0 は、D の6つの係数に関する一次方程式です。5本から5つの式ができ、条件のもとで D は定数倍を除いて1つに決まります。元の曲線の行列は Q = adj(D)、接点は同次座標で Dℓ です。
画面の曲線は (x, y, 1) Q (x, y, 1)ᵀ = 0 を描いています。接点が画面外にある場合は「接点を収める」で確認できます。双曲線の漸近線のように、接点が無限遠にあることもあります。退化した配置では、通常の接線を5本持つ非退化曲線として表示しません。
判定・描画は浮動小数点による数値計算です。退化に極端に近い配置は警告を表示します。この実験は証明そのものではありません。