\usetikzlibrary{3d} と \usepackage{tikz-3dplot} の違い

\usetikzlibrary{3d} と \usepackage{tikz-3dplot} の違い

3D プロット用のこれら 2 つの tikz ライブラリには違いがありますか?

tikz-3dplot私はのドキュメントを見つけましたCTANただし、\usetikzlibrary{3d} にはありません。

関連している可能性があるtikz 3d ライブラリのドキュメント

答え1

tikz-3dplot(s末尾に が付かない) は3dライブラリ (およびcalc) を自動的に読み込みます。その3dため、ライブラリを読み込むだけで、ライブラリのすべての機能を使用できます。さらに、 や などの 3D ビューをインストールできるコマンドがあり\tdplotsetmaincoords\tdplotsetrotatedcoordsは実際の 3D プロットを実行することを意味します (これが名前の由来です)。Ti で 3D ビューをインストールするその他の方法perspectiveZ は、ライブラリ (キーは と呼ばれます3d view) またはpgfplots(キーはおよび同様のキー)を使用しますview。残念ながら、ビュー角度の規則はこれらのパッケージ/ライブラリ間で異なります。

ライブラリの主な目的3dは、座標平面 ( などcanvas is xy plane at z=<z>) に切り替えることです。これはもちろん、適切な 3D ビューを確立すると最も意味を持ちます。

3D座標はTiでサポートされていますZ は、これ以上苦労せずに使用できます。ただし、定義済みのビューは正投影ではありません。、、を慎重に選択することでこれを修正できますがx、そのためには上記のツールを使用する方がはるかに便利です。yz

この例は、これらのステートメントのいくつかを説明することを目的としています。

\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座標を使用できることを示しています。tikz-3dplotZ をすぐに使用できます。次の図は、同じ投影法と視点で立方体を示していますが、緯度角 (通常はシータと呼ばれます) の規則が異なることがわかります。この例では3d、ライブラリの 1 つの (おそらく主な) アプリケーション、つまり座標平面に何かを投影する方法について説明しています。これは、図に示すようにノードで機能しますが、もちろん描画や外部グラフィックスでも機能します。

パースペクティブ ライブラリの主な目的は、3D ビューをインストールすることではないことに注意してください。むしろ、その名前が示すように、3 点透視図ビューをインストールできるようにしますが、この説明はこの回答の範囲を超えています。

関連情報