TikZお勉強シリーズ【応用⑵】intersectionを使ってみる②

最近というか、ここ3日寝る前にnoteの記事を書くのが習慣になりました。コロナの影響で家にいる時間が格段に増え、ぐーたら生活まっしぐらのところだったので、習慣ができたのはいいことですね。コロナに関しては、早期収束を願うばかりです。さて、前の記事の続きです。

使ってみよう②ー交点が2個以上ある場合ー

例えば、円と直線の場合を考えてみましょう。取り方によっては、交点が2個になる場合もありますね。前の記事では、交点が1個しかなかったため、ラベルがつけやすかったのですが、今回は交点が2個あるため、ラベルをつける前に一工夫必要となります。

まずは、円と直線から定義しましょう。なお、プリアンブルの宣言忘れずに。

\node at (P) [draw, circle through=(B),name path=circle 1] {}; %pを中心とし,Bを通る円を描く
\path [name path=line 1] (B) -- (Q);

今回は円と直線が区別できるように名前をcircleとlineという風に分けましたが、別にどんな名前でも構いません。円の書き方についてはまたおいおい記事書こうかなという感じです。さて、いよいよ交点を求める段階です。

\path [name intersections={of=line 1 and circle 1}];
\coordinate (N) at (intersection-2) node [below] at (N) {N};

今回のように、交点が2つ以上ある場合は、TikZの側で(intersection-1),(intersection-2),…と区別されます。この名前の割り振られ方は正直謎です。何度か調べたこともあるんですが、大抵わからないと書かれていたので、今のところは不明です。知っている方いれば教えてくださいという感じです。

今回は、交点の片方がBともともと設定した点になるように円と直線を定義しているので、intersection-1とintersection-2が区別できるようになっています。サンプルではBがintersection-1と一致したので、もう片方のintersection-2を別の文字で置き換えます。それが2行目のcoordinateです。前回は、交点が1個しかなかったため、直接by=で名前をつけられましたが、今回はそうはいかないので、coordinateを使ってintersection-2の点にNという名前をつけています。ちなみにですが、交点が1個しかない場合も次のように、このバージョンに合わせて記述することはできます。

\path [name intersections={of=line 1 and line 2}];
\coordinate (E) at (intersection-1) node [above] at (E) {E};

要するに、交点が1個の場合もintersection-1とラベル付けされているということですね。

終わりに

今の所、私が使えるintersectionはこんな感じです。本当は、交点の座標が求められたりもするらしいのですが、それはまたいずれ私が勉強したら記事をあげることにします。あくまで備忘録なので許してください(汗)。

次回予告

次回は、また新しいlibraryを紹介しようかと思ってます。とりあえず書きたいintersectionは終わってしまったので、せっかく習慣付いたにも関わらず三日坊主なものになってしまいそうですが…

注意(再掲)

なお、最初の記事でも述べたとおり、著者は未だTikZ学習中の身で、プロとは程遠い存在です。あくまで備忘録的な記事なので、流石にそこまで大きな間違いはないとは思いますが、何かここ違うよという部分あれば遠慮なく教えていただければと思います。

長くなってしまいましたが、最後まで読んでくださった方ありがとうございます。いつか誰かの何かの役に立つことを願いまして、締めたいと思います。では、また次の記事でお会いしましょう。