我想使用 tikz 包找到橙色虚线和蓝色曲线之间的交点,见下面的截图。如你所见,只显示了第一个交点。但是,我想用红色标记标记直线和曲线之间的所有交点,而不仅仅是第一个交点。我正在考虑使用,\foreach{}
但我对这个包还很陌生,我不确定应该如何实现。
我在序言中补充了以下内容:
\usepackage{tikz}
\usetikzlibrary{intersections}
屏幕截图中显示的图表是通过以下几行代码实现的:
\begin{tikzpicture}[domain=0:10]
\draw[->] (-0.2,0) -- (10.2,0) node[right] {$t$};
\draw[->] (0,-1.4) -- (0,1.4) node[above] {$x(t)$};
\draw[color=orange, dashed, name path=plotA] plot (\x,0.75) node[right] {$x = a$};
\draw[color=blue, name path=plotB] plot[samples=1000] (\x,{sin(\x * 320)}) node[right] {$x(t) = \sin(t)$};
\path [name intersections={of=plotA and plotB,by=E}];
\node [fill=red,inner sep=1pt] at (E) {};
\end{tikzpicture}
答案1
TikZ
您可以在文档中找到一些示例:第 145-146 页
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[domain=0:10]
\draw[->] (-0.2,0) -- (10.2,0) node[right] {$t$};
\draw[->] (0,-1.4) -- (0,1.4) node[above] {$x(t)$};
\draw[color=orange, dashed, name path=plotA] plot (\x,0.75) node[right] {$x = a$};
\draw[color=blue, name path=plotB] plot[samples=1000] (\x,{sin(\x * 320)}) node[right] {$x(t) = \sin(t)$};
\fill [name intersections={of=plotA and plotB, name=E, total=\t}]
[red]
\foreach \s in {1,2,...,\t}{(E-\s) circle (2pt)};
\end{tikzpicture}
\end{document}