给定两个坐标 A 和 B,我想绘制连接 A 和 B 的线的垂直平分线(任意长度)。
我没有得到任何额外的信息,并且 A 和 B 可以是任意两个坐标(即直线可以有任意斜率)。
这可以在 TikZ 中完成吗?
答案1
是的,使用calc
图书馆。请参阅第 13.5.4 节
距离修饰符的语法在手册中。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (3,1.2);
\draw (A) -- (B) coordinate[midway] (M);
\draw [blue,thick] ($(M)!0.5cm!270:(A)$) -- ($(M)!0.5cm!90:(A)$);
\end{tikzpicture}
\end{document}
答案2
另一种可能性是turn
选项。请参阅手册中的“13.4.2 旋转相对坐标”部分。
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path
(0,0)coordinate(A)
-- coordinate(M)
(3,1.2)coordinate(B)
;
\path
(A)
-- (M)
-- ([turn]90:.5)coordinate(l1)
-- ([turn]180:1)coordinate(l2)
;
\draw (A) -- (B);
\draw[orange] (l1) -- (l2);
\end{tikzpicture}
\end{document}