tikz 회전 3d 화살촉 표시

tikz 회전 3d 화살촉 표시

스크린샷나는 인터넷 코드 샘플을 사용하여 이것을 결합했지만 문제가 있습니다. 'a' 막대 끝에 있는 체크 표시가 선에 수직이 아닌 지면과 평행하기를 원합니다. 그것을 달성할 가능성이 있나요?

\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
      \draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
      -- (a)  ;
      \draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
      \draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
      \draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
      \draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};

      \draw [|-|] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};
\end{tikzpicture}

답변1

아마도 수평선을 직접 그려야 할 것입니다.

\draw [|-|] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};

~에 의해

\draw ( 2, 3.4,-1) -- ( 2, 3.6,-1);
\draw (-2, 3.4,-1) -- (-2, 3.6,-1);
\draw ( 2, 3.5,-1) -- node[right]{a} (-2, 3.5,-1) ;

끝 좌표 뒤 대신 라인 연산자 뒤에 midway배치하면 모든 s를 피할 수 있습니다 .node

답변2

단 하나의 명령으로 관리하는 방법을 모르겠지만 진드기를 별도의 선으로 그릴 수 있습니다.

\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
      \draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
      -- (a)  ;
      \draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
      \draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
      \draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
      \draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};

      \draw [-] (2, 3.5, -1) -- (-2, 3.5, -1) node[midway, below right] {a};
      \draw [-] (2, 3.75, -1) -- (2, 3.3, -1);
      \draw [-] (-2, 3.7, -1) -- (-2, 3.25, -1);
\end{tikzpicture}

이 형태에서는 한 줄이 아닌 세 줄로 좌표를 변경해야 하기 때문에 좌표를 변경하려는 경우에는 별로 편리하지 않습니다. 그것이 문제라면 두 개의 노드와 상대 좌표로 작업할 수 있으므로 두 개의 변수만 변경하면 됩니다.

\begin{tikzpicture}[cm={-1,-1,1,0,(0,0)},x=3.85mm,z=-1cm, scale=0.5]
      \draw (2,-3,-1) coordinate (x) |- (-2,3,-1) coordinate [midway] (h) coordinate (y) -- (-2,3,1) coordinate (a) -- (-2,-3,1) coordinate (z) -- (2,-3,1) edge (x) -- (2,3,1) coordinate (v) edge (h)
      -- (a)  ;
      \draw [dashed] (-2,-3,-1) coordinate (o) edge (x) edge (y) -- (z);
      \draw [->] (0,0,0) -- (2,0,0) node [midway,above] {$x$};
      \draw [->] (0,0,0) -- (0,2,0) node [midway,right] {$y$};
      \draw [->] (0,0,0) -- (0,0,2) node [midway,above] {$z$};

    \node (a1) at (-2, 3.5, -1){};
    \node (a2) at (2, 3.5, -1){};
    \draw [-] (a1.center) -- (a2.center) node[midway, below right] {a};
    \draw [-] (a1.center) -- +(0,-0.25,0) -- +(0,0.2,0);
    \draw [-] (a2.center) -- +(0,-0.2,0) -- +(0,0.25,0);
\end{tikzpicture}

이 두 샘플은 모두 다음과 같아야 합니다.

TikZ-샘플

관련 정보