![TikZ 交叉命令有奇怪的行为](https://linux22.com/image/423758/TikZ%20%E4%BA%A4%E5%8F%89%E5%91%BD%E4%BB%A4%E6%9C%89%E5%A5%87%E6%80%AA%E7%9A%84%E8%A1%8C%E4%B8%BA.png)
我尝试将一些节点放置在圆与一些角平分线的交点处。但是,这些交点的表现并不像我想象的那样。
文本错误的应该放在圆圈和灰线的交叉点处,但是它不知何故却放在了一个明显随机的位置:
此外,如果取消注释注释行,则两个交点将位于完全相同的位置:
(不过,蓝色文本正好位于其应该所在的位置。)
有人能解释一下我做错了什么吗?我不明白为什么在任何一种情况下节点都放在了错误的位置。
提前致谢!
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\begin{figure}
\centering
\begin{tikzpicture}
\draw[thick,dashed, name path=circ] (2,2) circle (2cm);
\begin{scope}[shift={(2,2)}]
\filldraw (165:2) node[left=3.5pt] (c) {\large $c$} circle (3pt);
\filldraw (225:2) node[below=3.5pt] (b) {\large $b$} circle (3pt);
%\filldraw (135:2) node[above=3.5pt] (a) {\large $a$} circle (3pt);
\end{scope}
%\path[shorten >=-0.5cm,-, name path= path1] let \p1=($ (a) !.5! (b) $) in (2,2) -- ($(\p1)+(5,0)$);
%\draw[name intersections = {of =circ and path1}] (intersection-1) node[blue] (ab) {\Large right};
\path[shorten <= -0.5cm,-, name path=path3] let \p1=($ (b) !.5! (c) $) in (\p1) edge[gray] (2,2);
\draw[name intersections={of=circ and path3}] (intersection-1) node (bc) {wrong};
\end{tikzpicture}
\end{figure}
\end{document}
答案1
首先确保您的 MWE 确实可以编译,这里缺少\begin{document}
tikz lib 。calc
其次,这里的问题是,\path[shorten <= -0.5cm,-, name path=path3]
部分shorten
不会添加到路径的长度(可用于计算的部分),它只会添加到显示的版本。因此,用于计算交点的线段完全在圆内,您会收到未找到该线段的错误。
这似乎有效
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
\begin{document}
\begin{tikzpicture}
\draw[thick,dashed, name path=circ] (2,2) circle (2cm);
\begin{scope}[shift={(2,2)}]
\filldraw (165:2) node[left=3.5pt] (c) {\large $c$} circle (3pt);
\filldraw (225:2) node[below=3.5pt] (b) {\large $b$} circle (3pt);
% \filldraw (135:2) node[above=3.5pt] (a) {\large $a$} circle (3pt);
\end{scope}
% \path[shorten >=-0.5cm,-, name path= path1] let \p1=($ (a) !.5! (b) $) in (2,2) -- ($(\p1)+(5,0)$);
% \draw[name intersections = {of =circ and path1}] (intersection-1) node[blue] (ab) {\Large right};
% \path[shorten <= -0.5cm,-, name path=path3] let \p1=($
% (b) !.5! (c) $) in (\p1) edge[gray] (2,2);
\coordinate (d) at ($(b) !.5! (c) $);
\coordinate (o) at (2,2);
\draw[name path=path3] (o) -- ($(o)!1.5!(d)$);
\draw[name intersections={of=circ and path3,by=e}] (e) node (bc) {wrong};
\end{tikzpicture}
\end{document}
我切换到了独立课程,因为它更适合这种类型的问题。还删除了环境,figure
因为它与这个问题无关。