\usetikzlibrary{3d}와 \usepackage{tikz-3dplot}의 차이점

\usetikzlibrary{3d}와 \usepackage{tikz-3dplot}의 차이점

3D 플롯을 위한 두 tikz 라이브러리 사이에 차이점이 있습니까?

tikz-3dplot에 대한 문서를 찾았습니다.CTAN, 그러나 \usetikzlibrary{3d}에는 아무것도 없습니다.

다음과 관련이 있을 수 있습니다.tikz 3d 라이브러리 문서

답변1

tikz-3dplot( s결국 없이) 3d라이브러리(및 calc)가 자동으로 로드됩니다. 따라서 라이브러리를 로드하기 때문에 라이브러리의 모든 기능을 갖습니다 3d. 또한 \tdplotsetmaincoords및 과 같은 3D 보기를 설치할 수 있는 명령이 있으며 \tdplotsetrotatedcoords실제 3D 플롯(따라서 이름)을 수행하는 것을 의미합니다. Ti에 3D 뷰를 설치하는 다른 방법케이perspectiveZ는 라이브러리(키는 이라고 함 3d view) 또는 pgfplots(키는 과 유사한 키)를 사용하는 것입니다 view. 불행하게도 이러한 패키지/라이브러리마다 뷰 각도에 대한 규칙이 다릅니다.

라이브러리 의 주요 목적은 3d좌표 평면(예: canvas is xy plane at z=<z>)으로 전환하는 것입니다. 물론 이는 적절한 3D 뷰를 설정한 후에 가장 적합한 것입니다.

3D 좌표는 Ti에서 지원됩니다.케이더 이상 고민하지 않고 Z. 그러나 미리 정의된 뷰는 직교가 아닙니다. x, y및 를 신중하게 선택하여 이를 수정할 수 있지만 z, 이를 위해서는 위에서 언급한 도구를 사용하는 것이 훨씬 더 편리합니다.

이 예는 이러한 진술 중 일부를 설명하기 위한 것입니다.

\documentclass[tikz,border=3mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{perspective}
\begin{document}
\begin{tikzpicture}[cube/.style={insert path={
  (-1,-1,-1) edge ++(0,0,2) -- (1,-1,-1) edge ++(0,0,2)
  -- (1,1,-1) edge ++(0,0,2) -- (-1,1,-1) edge ++(0,0,2) -- cycle
  (-1,-1,1) -- (1,-1,1) -- (1,1,1) -- (-1,1,1) -- cycle
  }}]
 \def\LabelPlanes{  
  \node[canvas is xy plane at z=1,transform shape]{xy plane};
  \node[canvas is xz plane at y=1,transform shape]{xz plane};
  \node[canvas is yz plane at x=1,transform shape]{yz plane};} 
 \begin{scope}[local bounding box=A]
  \draw[cube];
  \LabelPlanes
 \end{scope}
 \path (A.south) node[below]{plain Ti\emph{k}Z};
 %
 \tdplotsetmaincoords{70}{110}% theta,phi     
 \begin{scope}[xshift=4cm,tdplot_main_coords,local bounding box=B]
  \draw[cube];
  \LabelPlanes
 \end{scope}
 \path (B.south) node[below]{\texttt{tikz-3dplot}};
 %
 \begin{scope}[xshift=8cm,3d view={110}{20},% phi,90-theta of tikz-3dplot
    local bounding box=C]
  \draw[cube];
  \LabelPlanes
 \end{scope}
 \path (C.south) node[below]{\texttt{perspective}};
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

가장 왼쪽 그림은 큐브의 직교 투영이 아니지만 Ti에서 3D 좌표를 사용할 수 있음을 보여줍니다.케이바로 Z. 다음 그림은 동일한 투영 tikz-3dplot및 원근감의 큐브를 보여 주며 위도 각도(일반적으로 세타라고 함)에 대한 규칙이 다르다는 것을 알 수 있습니다. 이 예는 또한 라이브러리의 주요 응용 프로그램 중 하나인 3d좌표 평면에 무언가를 투영하는 방법을 보여줍니다. 이는 그림과 같이 노드에서 작동하지만 물론 도면 및 외부 그래픽에서도 작동합니다.

Perspective 라이브러리의 주요 목적은 3D 뷰를 설치하는 것이 아닙니다. 오히려 이름에서 알 수 있듯이 3점 투시도를 설치할 수 있지만 이 논의는 이 답변의 범위를 벗어납니다.

관련 정보