我能够在圆上的给定点处绘制圆的切线,并且我使用两种方法(使用 calc 库和使用 /tikz/turn 功能)来实现。但我必须承认,我并不完全理解 /tikz/turn,也不知道使用 calc 或 turn(或其他方法)是否有优势。
我目前的 MWE 如下。我的问题是:
1) 我(认为)我明白了如何使用“转动”绘制蓝线(从圆心到圆上的点画一条线,然后相对于传入方向顺时针旋转 90 度,然后继续 2 厘米)。但红线让我感到困惑。如果我只是从圆上的一个点(在本例中为 P)开始,TikZ 如何知道相对于哪个方向“转动”?不知何故,它明白 +/- 90 是与圆相切的......是否有一条从 (0,0) 到点 P 的线(以定义角度=0 方向)?
2) 红色曲线和黑色曲线(使用 calc 库制作)都满足了我的需求。其中一个曲线比另一个曲线有什么优势吗?
制成品:
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
[
scale=1,
point/.style = {draw, circle, fill=black, inner sep=0.5pt},
]
\def\rad{2cm}
\node (C) at (0,0) [point]{};
\draw (C) circle (\rad);
\node (P) at +(160:\rad) [point]{};
% Using the calc library
\draw (P) -- ($(P)!2!-90:(C)$);
\draw (P) -- ($(P)!2!90:(C)$);
% using /tikz/turn
\draw[->,thick, color=blue] (C) -- (P) -- ([turn]-90:2cm);
% this is the command that I don't understand
\draw[->,thick, color=red] (P) -- ([turn]90:1cm);
\end{tikzpicture}
\end{document}
答案1
巫术效应源于这样一个事实:当省略坐标时,原点被假定为圆心,而这恰好是圆心。如果你改变起点,谜团很快就会消失。
我放置了更多箭头来显示路径从不同坐标开始时的效果。
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\def\rad{2cm}
\begin{document}
\begin{tikzpicture}
[point/.style = {draw, circle, fill=black, inner sep=0.5pt}]
\draw[style=help lines] (0,-1) grid[step=1cm] (5,4);
\node (C) at (2,1) [point,label=0:C]{};
\draw (C) circle (\rad);
\path (2,1) node[point,label={180:P}] (P) at +(120:\rad){};
\foreach \x in {0,10,...,90}{
\draw[-latex,draw=blue,thick] (2,1) -- (P) -- ([turn]\x:2cm);
\draw[-latex,draw=red] (P) -- ([turn]\x:2cm);% You can add (0,0) -- as an initial point too
}
\end{tikzpicture}
\end{document}
如您所见,当从不同的点开始时,红色箭头会失去神奇的切向性,而是沿着入射角到达该点(尽管蓝色箭头仍然保留,因为给出了初始点)。当省略初始点时,它会假定路径从 (0,0) 开始,因此存在猜测切线的固有错觉。