我知道如何使用 calc 库进行绘图
- 给定长度的垂直线
- 通过某一点的垂直线
- 通过一点的任意角度的线
还有什么其他可能性我还没发现吗?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,positioning}
\begin{document}
Une ligne perpendiculaire à une autre de longueur imposée.
A perpendicular line of given length
\begin{tikzpicture}
[dot/.style={circle,inner sep=1pt,fill,label={#1},name=#1},
extended line/.style={shorten >=-#1,shorten <=-#1},
extended line/.default=1cm]
\node [dot=A] at (0,0) {};
\node [dot=B] at (3,1) {};
\draw (A) -- (B)node[dot=C, pos=0.3] (C){} node[dot=D, pos=0.7] (D){};
\draw[red] (C) -- ($(C)!1cm!90:(A)$);
\draw (A) -- (B)node[dot=C, pos=0.3] (C){};
\draw[blue] (D) -- ($(D)!1cm!90:(B)$);
\end{tikzpicture}
Une ligne perpendiculaire passant par un point.
A perpendicular line passing through a point
\begin{tikzpicture}[dot/.style={circle,inner sep=1pt,fill,label={#1},name=#1},
extended line/.style={shorten >=-#1,shorten <=-#1},
extended line/.default=1cm]
\node [dot=A] at (0,0) {};
\node [dot=B] at (3,1) {};
\node [dot=P] at (1.9,-1.6) {};
\draw [extended line=0.5cm] (A) -- (B);
\draw ($(A)!(P)!(B)$) -- (P);
\fill [red] ($(A)!(P)!(B)$) circle [radius=2pt];
\end{tikzpicture}
Une ligne avec un angle quelconque de longueur imposée.
A line of any angle passing through a point of imposed length
\begin{tikzpicture}
[dot/.style={circle,inner sep=1pt,fill,label={#1},name=#1},
extended line/.style={shorten >=-#1,shorten <=-#1},
extended line/.default=1cm]
\node [dot=A] at (0,0) {};
\node [dot=B] at (3,1) {};
\draw (A) -- (B)node[dot=C, pos=0.3] (C){} node[dot=D, pos=0.7] (D){};
\draw[red] (C) -- ($(C)!1cm!45:(A)$);
\draw[blue] (D) -- ($(D)!2cm!30:(B)$);
\draw[blue] (D) -- ($(D)!2cm!-60:(B)$);
\end{tikzpicture}
\end{document}