円の共通接線
2つの円の共通接線を引きます。
作図方法はいくつかあるでしょう。その一例を示します。
(1) 2円の間で交差しない共通接線
まず,Cinderellaの作図ツールを使って描き,そのあとで必要な線だけをKeTCindyで書き出します。
2つの円と中心を結ぶ直線を描きます。円の大きさはあとで変更できますので,適当でよいでしょう。
コンパスツールを選択し,右の円の中心と円周上の1点を指定します。円周上の1点は,点Cとして作図されます。
白い円がでますので,左の円と中心を結ぶ直線が交わったところでクリックします。
ここでコンパスツールを使うのが要点です。これによって,元の円の大きさを変えたときに,図が連動して変化します。
できた円と直線の交点を作図し,(E) A中心,AEを半径とする円を描きます。
ABの中点をとり,ABを直径とする円を描きます。
この円と,先ほど描いた円の交点を求め,(G) 直線AGを引きます。直接AGを引くこともできます。
AGと元の円との交点を求め(H) Hで垂線を引きます。
交点を求めるツールで垂線と円Bの交点(接点)を作図します。(K)
点GはABを直径とする円周上の点なので,∠AGBは直角です(作図はしていません)
はじめにコンパスツールで円Bの半径をDEに取りましたので,GHは円Bの半径と同一です。
したがって,GH=BKとなり,HKが共通接線となるわけです。
同様にして,もう一つの共通接線も引きます。
円Bの位置や半径を変えると,はじめにコンパスツールを使った効果で,すべてが連動して変化します。
したがって,問題に応じて中心間の距離や半径を変えればさまざまな状況に対応できるわけです。
あとは必要な線だけをKeTCindyのコマンドで書き出します。
最初の図は次のようにしました.
Addax(0);
Circledata([A,D]);
Circledata([B,C]);
Lineplot([H,K]);
Lineplot([P,N]);
Listplot([H,A,N]);
Listplot([K,B,P]);
Listplot([A,B],["do"]);
Paramark([A,H,K]);
Paramark([H,K,B]);
Paramark([B,P,N]);
Paramark([A,N,P]);
Ptsize(2);
Pointdata("1",[A,B]);
Letter([A,"ne2","$C_1$",B,"ne2","$C_2$"]);
もし補助線が邪魔であればインスペクタで非表示にしてしまえばよいでしょう。
つぎのように,2円が接するようにすることも簡単にできるわけです。
(2) 2円の間で交差する共通接線
まずCinderellaで作図します。
2円と中心を結ぶ直線を引き,コンパスツールを用いて円Bの半径をとって円Dをとるところまで,(1) と同じです。ただし,円Bの方が大きいとしています。
交点Eをとり,半径AEの円を描きます。
ABを直径とする円を描き,AEを半径とする円との交点を求めます。(G)
直線AGをひき,元の円Aとの交点を求め(H),垂線を引くと,円Bに接する直線になります。接点をとります(K)。
同様にしてもう1本の共通接線を引きます。
そのまま,必要な線だけをKeTCindyで書き出せばよいでしょう。
補助線を非表示にしていくとつぎのようになります。
問題に応じて,円の半径や中心間の距離を変えて,必要な数字を入れます。
< 戻る >