平均能量损失

平均能量损失

抱歉,大家,我真的不知道该怎么做......

请考虑下图:

在此处输入图片描述

绘制者:

  \begin{tikzpicture}
    \begin{scope}[rotate=+60]
      \foreach \x in {-0.3, -0.2, -0.1, 0.0, +0.1, +0.1, +0.2, +0.3}
        \draw[xshift=\x cm] (0, +2) -- (0, 0);
    \end{scope}
    \begin{scope}[rotate=-60]
      \foreach \x in {-0.3, -0.2, -0.1, 0.0, +0.1, +0.1, +0.2, +0.3}
        \draw[xshift=\x cm] (0, +2) -- (0, 0);
    \end{scope}
    \begin{scope}[rotate=180]
      \foreach \x in {-0.3, -0.2, -0.1, 0.0, +0.1, +0.1, +0.2, +0.3}
        \draw[xshift=\x cm] (0, +2) -- (0, 0);
    \end{scope}
    \fill[white]      (-1, -1) -- (+1, -1) -- (0, +1) -- cycle;
    \draw[very thick] (-1, -1) -- (+1, -1) -- (0, +1) -- cycle;
    \draw (0, -0.3) node {+};
  \end{tikzpicture}

现在我该如何在其中添加箭头?(我希望每条线与三角形相交处都有一个箭头。)

如您所见,我已经不得不做一些糟糕的修改,在这些线条上方绘制一个白色三角形,因为 TikZ 似乎不允许任意裁剪。但如果我能让线条停在三角形的边缘,就不需要裁剪了 --- 这也使得添加箭头变得微不足道。

经过大约一个小时的反复尝试,我最终设法使连接节点的语法真正起作用。但随后所有线都会汇聚到三角形的中心,而不是像我希望的那样保持平行。

\begin{tikzpicture}
  \node[name=add, regular polygon, regular polygon sides=3, draw, very thick] at (0, 0) {+};
  \begin{scope}[rotate=60]
      \foreach \x in {-0.3, -0.2, -0.1, 0.0, +0.1, +0.1, +0.2, +0.3}
        \draw[xshift=\x cm, ->] (0, +2) to (add);
    \end{scope}
\end{tikzpicture}

在此处输入图片描述

有什么提示吗?

答案1

您可以使用锚点来定位箭头,并且按照@Ignasi 所建议的,以角度指定坐标。

平均能量损失

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\begin{document}
\begin{tikzpicture}
  \node(add)[regular polygon,regular polygon sides=3,draw,very thick,minimum size=2cm]{+};
  \foreach\ang[count=\i] in {60,180,300}{
  \begin{scope}[rotate=\ang]
  \foreach \x in {0,.1,.2,.3}{
    \draw[<-]([xshift=\x cm]add.side \i)--+(90:2cm);
    \draw[<-]([xshift=-\x cm]add.side \i)--+(90:2cm);
  }
  \end{scope}
  }
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容