我需要:
- 画一个椭圆,
- 给它命名,以便我稍后可以与它相交,
- 剪辑它。
为了完成 3,使用 似乎最合适scope
,但这意味着我无法完成 2。考虑这个 MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[->] (-2.0, 0.0) -- (2.0,0.0);
\draw[->,name path=yaxis] ( 0.0,-2.0) -- (0.0,2.0);
\draw[name path=ellipse] (-1.0,0.0) ellipse (1.5 and 0.6);
\path[name intersections={of=ellipse and yaxis,by=x}];
\draw[red,fill=red] (x) circle (1pt);
\end{tikzpicture}
\end{document}
这使
其中红色圆圈表示交点。这实现了 1 和 2,但没有实现 3,为此我需要类似
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[->] (-2.0, 0.0) -- (2.0,0.0);
\draw[->,name path=yaxis] ( 0.0,-2.0) -- (0.0,2.0);
\begin{scope}
\clip (-2.0,-2.0) rectangle (2.0,2.0);
\draw[name path=ellipse] (-1.0,0.0) ellipse (1.5 and 0.6);
\end{scope}
\end{tikzpicture}
\end{document}
给予
但由于范围的原因,我无法参考路径确定交点并将其绘制为红色圆圈。
那么,什么是剪裁椭圆但仍能用其确定交点的最佳方法?有没有办法在scope
全局范围内创建一些“属性”?
答案1
您在寻找吗name path global
?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[->] (-2.0, 0.0) -- (2.0,0.0);
\draw[->,name path=yaxis] ( 0.0,-2.0) -- (0.0,2.0);
\begin{scope}
\clip (-2.0,-2.0) rectangle (2.0,2.0);
\draw[name path global=ellipse] (-1.0,0.0) ellipse (1.5 and 0.6);
\end{scope}
\draw[name intersections={of=ellipse and yaxis,by=x},red,fill=red] (x) circle (1pt);
\end{tikzpicture}
\end{document}