[日本数式処理学会合同分科会発表準備に戻る。]
三角形ABCがある。点Dは辺BCを3:2に,点Eは辺CAを2:1に,それぞれ内分している。
2直線AD,BEの交点をPとし,2直線CP,ABの交点をFとするとき,点Fによる辺ABの内分比は?
という問題の状況図を描いてみよう。
まず,TikZ ライブラリ calc
は便利なので読み込んでおこう。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\end{tikzpicture}
\end{document}
三角形を描く。
点は\coordinate
で定義する。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
% 以下,図を描く
\draw (A) -- (B) -- (C) -- cycle;
\end{tikzpicture}
\end{document}
点にラベルをつけておこう。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
% 以下,図を描く
\draw (A) -- (B) -- (C) -- cycle;
\draw (A) node[left] {$\mathrm{A}$};
\draw (B) node[right] {$\mathrm{B}$};
\draw (C) node[above] {$\mathrm{C}$};
\end{tikzpicture}
\end{document}
線分BCを 3:2 に内分している点Dをとる。
点Bを 0,点Cを 1 としたときの点Dの相対位置は 0.6。
TikZライブラリcalc
が読み込まれていれば,
この点は ($(B)!0.6!(C)$)
とすればよい。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
\coordinate (D) at ($(B)!0.6!(C)$);
% 以下,図を描く
\draw (A) -- (B) -- (C) -- cycle;
\draw (A) node[left] {$\mathrm{A}$};
\draw (B) node[right] {$\mathrm{B}$};
\draw (C) node[above] {$\mathrm{C}$};
\draw (A) -- (D) node[right] {$\mathrm{D}$};
\end{tikzpicture}
\end{document}
線分 CA を2:1に内分する点Eは ($(C)!2/3!(A)$)
と書いてみたい気がする。
しかし,有理数は直接には受け付けてもらえない。
小数ではなく有理数を用いるときは {}
でくくればよい。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
\coordinate (D) at ($(B)!0.6!(C)$);
\coordinate (E) at ($(C)!{2/3}!(A)$);
% 以下,図を描く
\draw (A) -- (B) -- (C) -- cycle;
\draw (A) node[left] {$\mathrm{A}$};
\draw (B) node[right] {$\mathrm{B}$};
\draw (C) node[above] {$\mathrm{C}$};
\draw (A) -- (D) node[right] {$\mathrm{D}$};
\draw (B) -- (E) node[left] {$\mathrm{E}$};
\end{tikzpicture}
\end{document}
2直線AD,BEの交点Pはどうすればよいか。
TikZでは,(intersection of A--D and B--E)
で得られる。なんと,そのままではないか!
そうであれば,2直線CP,ABの交点Fは (intersection of C--P and A--B)
でよい。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
\coordinate (D) at ($(B)!0.6!(C)$);
\coordinate (E) at ($(C)!{2/3}!(A)$);
\coordinate (P) at (intersection of A--D and B--E);
\coordinate (F) at (intersection of C--P and A--B);
% 以下,図を描く
\draw (A) -- (B) -- (C) -- cycle;
\draw (A) node[left] {$\mathrm{A}$};
\draw (B) node[right] {$\mathrm{B}$};
\draw (C) node[above] {$\mathrm{C}$};
\draw (A) -- (D) node[right] {$\mathrm{D}$};
\draw (B) -- (E) node[left] {$\mathrm{E}$};
\draw (P) node {$\mathrm{P}$};
\draw (C) -- (F) node[below] {$\mathrm{F}$};
\end{tikzpicture}
\end{document}
この図をbeamerで利用してみよう。
\documentclass[dvipdfmx]{beamer}
\usepackage{pxjahyper}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{frame}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
\coordinate (D) at ($(B)!0.6!(C)$);
\coordinate (E) at ($(C)!{2/3}!(A)$);
\coordinate (P) at (intersection of A--D and B--E);
\coordinate (F) at (intersection of C--P and A--B);
% 以下,図を描く
\draw<1-> (A) -- (B) -- (C) -- cycle;
\draw<1-> (A) node[left] {$\mathrm{A}$};
\draw<1-> (B) node[right] {$\mathrm{B}$};
\draw<1-> (C) node[above] {$\mathrm{C}$};
\draw<2-> (A) -- (D) node[right] {$\mathrm{D}$};
\draw<3-> (B) -- (E) node[left] {$\mathrm{E}$};
\draw<4-> (P) node {$\mathrm{P}$};
\draw<5-> (C) -- (F) node[below] {$\mathrm{F}$};
\end{tikzpicture}
\end{frame}
\end{document}
最後のスライドで図が微妙にずれるのを防ぐ対策はいろいろ考えられる。
ここではダミーを入れておくことにしよう。
\documentclass[dvipdfmx]{beamer}
\usepackage{pxjahyper}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{frame}
\begin{tikzpicture}
% 点を定義
\coordinate (A) at (0,0);
\coordinate (B) at (5,0);
\coordinate (C) at (3,4);
\coordinate (D) at ($(B)!0.6!(C)$);
\coordinate (E) at ($(C)!{2/3}!(A)$);
\coordinate (P) at (intersection of A--D and B--E);
\coordinate (F) at (intersection of C--P and A--B);
% 以下,図を描く
\draw<1-> (A) -- (B) -- (C) -- cycle;
\draw<1-> (A) node[left] {$\mathrm{A}$};
\draw<1-> (B) node[right] {$\mathrm{B}$};
\draw<1-> (C) node[above] {$\mathrm{C}$};
\draw<2-> (A) -- (D) node[right] {$\mathrm{D}$};
\draw<3-> (B) -- (E) node[left] {$\mathrm{E}$};
\draw<4-> (P) node {$\mathrm{P}$};
\draw<1-4> (F) node[below,opacity=0] {$\mathrm{F}$};% <= ダミー
\draw<5-> (C) -- (F) node[below] {$\mathrm{F}$};
\end{tikzpicture}
\end{frame}
\end{document}
おしまい。
[日本数式処理学会合同分科会発表準備に戻る。]