TikZ:tikz-3dplotで立体を描いてみる(サンプルコード付き)

こんにちは。最近知ったテクニックなので, ここにも書いておきます。tikzのパッケージにtikz-3dplotというのがあるらしく, これを使うと立体の視点を変えられることを発見。以前からemathみたいに視点が換えられないのが不便だなと思っていたのですが, あったようです。サンプルと共に見ていきましょう。
デフォルト(何も手を加えず立体描写)
パッケージも\usepackage{tikz}のみ

Rendered by QuickLaTeX.com


続いてパッケージに\usepackage{tikz-3dplot}を加えz軸方向に-16\Deg傾けたところ

Rendered by QuickLaTeX.com


上のコードは以下になる。

TikZ
[+preamble]
\usepackage{tikz}
\usepackage{tikz-3dplot} %パッケージにこれを追加
[/preamble]
\tdplotsetmaincoords{-16}{0} %カメラアングルの設定
\begin{tikzpicture}[tdplot_main_coords,ti/.style={thick},tid/.style={dashed,thick},scale=0.7] %top_main_coordsを追加し,アングルを反映
\coordinate (A) at (0,0,0) node at (A) [left]  {A};
\coordinate (B) at (6,0,10.392) node at (B) [below]  {B};
\coordinate (C) at (12,0,0) node at (C) [right]  {C};
\coordinate (M) at (9,0,5.196) node at (M) [below right]  {M};
\coordinate (O) at (6,9.798,3.464) node at (O) [above]  {O};
\coordinate (D) at (6,3.266,8.0827) node at (D) [above left] {D};
\draw (A) to [out=80, in=210,edge node={node [midway,fill=white]{6cm}}](O);
\draw (O) to [out=-60, in=60,edge node={node [midway,fill=white]{4cm}}](D);
\draw[ti] (O)--(A)--(B)--(O)--(C)--(B);
\draw[tid] (C)--(A);
\draw[ti] (A)--(D)--(M);
\end{tikzpicture}

\tdplotsetmaincoords{-16}{0}はz軸方向に-16\Deg傾けて, z軸まわりには回転させていないことになります。あまりz軸まわりには回転させる必要はないかもしれませんね。ちなみにz軸まわりに30\Deg回転させてみる(\tdplotsetmaincoords{-16}{30}と設定)と,

Rendered by QuickLaTeX.com


こんな風になります。ちなみに長さを表す曲線などはその都度設定し直しが必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)