TikZで垂線を引く方法
TikZで垂線を引く方法を書く。
コードの全体はこちらのOverLeafでご確認ください。
=> 最下部に貼りました.(Feb. 3rd, 2020)
方法1
%
% AB上に点Cから垂線を下ろす
%
\begin{tikzpicture}[
point/.style={circle, fill=cyan!50}
]
\path node[label=A, point] (A) at (0, 0) {};
\path node[label=B, point] (B) at (2, 2) {};
\path node[label=C, point] (C) at (0, 2) {};
%
% ($(A)!(C)!(B)$)は点Cの直線AB上への射影
%
\path node[label=D, point, color=red] (D) at ($(A)!(C)!(B)$){};
\path[draw] (A) -- (D) -- (B);
\path[draw] (C) -- (D);
\end{tikzpicture}
($(A)!(C)!(B)$)は,点Cから点ABに下ろした垂線の足にあたる点を表します。calcライブラリーを使わないと座標の計算ができないので注意。
方法2
%
% calcを使ったpathの変形
%
\begin{tikzpicture}[
point/.style={circle, fill=magenta!50}
]
\path node[label=E, point] (E) at (0, 0) {};
\path node[label=F, point] (F) at (2, 2) {};
%
% 直線EF上の点を指定
%
\path node[label=G, point, color=yellow] (G) at ($(E)!.5!(F)$){};
%
% EからGまで線を引いて,GからFまでの線を90°折り曲げる
%
\path[draw] (E) -- (G) -- ($(G)!1!90:(F)$) node[label=H, point]{};
\path[draw] (G) -- (F);
\end{tikzpicture}
($(E)!.5!(F)$)は,線分EFの中点を表します。($(E)!.1!(F)$)とすれば,線分EFを1:9に内分する点を表します。($(G)!1!90:(F)$)は,線分GFを作るパスを90度回転させた先でたどり着く点を表します。
以下,TeXソースまるごとです.
\RequirePackage{luatex85}
\documentclass{standalone}
\usepackage{luatexja}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
%
% AB上に点Cから垂線を下ろす
%
\begin{tikzpicture}[
point/.style={circle, fill=cyan!50}
]
\path node[label=A, point] (A) at (0, 0) {};
\path node[label=B, point] (B) at (2, 2) {};
\path node[label=C, point] (C) at (0, 2) {};
%
% ($(A)!(C)!(B)$)は点Cの直線AB上への射影
%
\path node[label=D, point, color=red] (D) at ($(A)!(C)!(B)$){};
\path[draw] (A) -- (D) -- (B);
\path[draw] (C) -- (D);
\end{tikzpicture}
%
% calcを使ったpathの変形
%
\begin{tikzpicture}[
point/.style={circle, fill=magenta!50}
]
\path node[label=E, point] (E) at (0, 0) {};
\path node[label=F, point] (F) at (2, 2) {};
%
% 直線EF上の点を指定
%
\path node[label=G, point, color=yellow] (G) at ($(E)!.5!(F)$){};
%
% EからGまで線を引いて,GからFまでの線を90°折り曲げる
%
\path[draw] (E) -- (G) -- ($(G)!1!90:(F)$) node[label=H, point]{};
\path[draw] (G) -- (F);
\end{tikzpicture}
\end{document}
お役に立ったらスキしてください. サポートは投稿を続けるモチベーションになります. ありがとうございます.