管理人のTeX備忘録、コード置き場です。

立方体、平行六面体の描画

TikZによる立方体、平行六面体の描画

ヤコビアンAの平行六面体画像がひどすぎる件

今現在数理統計学のコンテンツでヤコビアンAを作成しているが、その中で使う写像による平行六面体の画像に関して、当初エクセルで次のようなものを作っていた。↓

写像座標系の微小体積エクセル版

もともと当Webサイト管理人は絵心が全くない…
だからといって上のような画像はさすがにひどすぎと(自分で)思ったので今回var LaTeXのプラグインでTikZというのがあるので、今回以下のサイト様からのコードを拝借して平行六面体の画像を作成することにした次第になる。

 

https://tex.stackexchange.com/questions/654533/drawing-a-parallelopiped-in-tikz

 

上記サイト様より以下参考引用

var LaTeXコード

\begin{tikzpicture}

\draw[fill=magenta] (0,0)--(4,0)--(5,3)--(1,3)--(0,0);
\draw[fill=cyan] (5,3)--(1,3)--(2.2,4.2)--(6.2,4.2)--(5,3);
\draw[fill=lime] (4,0)--(5,3)--(6.2,4.2)--(5.2,1.2)--(4,0);
\draw[dashed] (2.2,4.2)--(1.2,1.2);
\draw[dashed] (0,0)--(1.2,1.2);
\draw[dashed] (1.2,1.2)--(5.2,1.2);

\end{tikzpicture}

 

んでもってTeXclip様のところで出力させてみたところ以下のような画像がでけますた。

出力画像

parallelepiped element

 

!!(・ω・;)ウーンすばらすい!!
今回始めてTikZを実際に使ってみてその画像に驚いたもんなんだが、
なんとTeXclip様もこのTikZに対応していたという…

 

さすがにこれにもビックリしますた( ゚Д゚)

ということでこのエントリーでは以下電々で平行六面体などの描画のためのvar LaTeXコードとその出力画像を貼り付けた内容になっています<`ω´>

正六面体(基本)

var LaTeXコード

\begin{tikzpicture}

\draw[fill=magenta] (0,0)--(4,0)--(4,3)--(0,3)--(0,0);
\draw[fill=cyan] (0,3)--(0,3)--(2,4)--(6,4)--(4,3);
\draw[fill=lime] (4,0)--(4,3)--(6,4)--(6,1)--(4,0);
\draw[dashed] (2,4)--(2,1);
\draw[dashed] (0,0)--(2,1);
\draw[dashed] (2,1)--(6,1);

\end{tikzpicture}

 

出力画像

regular hexahedron

 

上記のコードの見方としては色(マゼンタ、シアン、ライム)で面体を区別しているのでどの色(面)部分がどの数値に対応しているかが説明しなくともわかるようになっている。
いろいろ試してみてみたいという人は上記のコードをコピペしてカッコの中の数値をいじくってみてコンバートしてみるといいだろう。

平行六面体描画@

var LaTeXコード

\begin{tikzpicture}

\draw[fill=cyan] (0,0)--(4,0)--(5,3)--(1,3)--(0,0);
\draw[fill=green] (5,3)--(1,3)--(4,4)--(8,4)--(5,3);
\draw[fill=yellow] (4,0)--(5,3)--(8,4)--(7,1)--(4,0);
\draw[dashed] (3,1)--(4,4);
\draw[dashed] (0,0)--(3,1);
\draw[dashed] (3,1)--(7,1);

\end{tikzpicture}

 

出力画像

parallelepiped

平行六面体描画A

var LaTeXコード

\begin{tikzpicture}

\draw[fill=yellow] (0,0)--(4,0)--(5,3)--(1,3)--(0,0);
\draw[fill=green] (5,3)--(1,3)--(2,4)--(6,4)--(5,3);
\draw[fill=cyan] (4,0)--(5,3)--(6,4)--(5,1)--(4,0);
\draw[dashed] (2,4)--(1,1);
\draw[dashed] (0,0)--(1,1);
\draw[dashed] (1,1)--(5,1);

\end{tikzpicture}

 

出力画像

parallelepiped

写像系平行六面体

var LaTeXコード

\begin{tikzpicture}

\draw[fill=cyan] (0,0)--(4,0.2)--(5.0,3.2)--(1,3)--(0,0);
\draw[fill=green] (5,3.2)--(1,3)--(4.2,3.8)--(8,4)--(5,3.2);
\draw[fill=yellow] (4,0.2)--(5,3.2)--(8,4)--(7,1)--(4,0.2);
\draw[dashed] (3.2,0.8)--(4.2,3.8);
\draw[dashed] (0,0)--(3.2,0.8);
\draw[dashed] (3.2,0.8)--(7,1);

\end{tikzpicture}

 

出力画像

Mapping of a parallelepiped element

平行六面体ベクトル組み合わせ

var LaTeXコード

\usetikzlibrary{arrows.meta}

 

\begin{tikzpicture}

\draw[fill=cyan] (0,0)--(4,0)--(5,3)--(1,3)--(0,0);
\draw[fill=green] (5,3)--(1,3)--(2,4)--(6,4)--(5,3);
\draw[fill=violet] (4,0)--(5,3)--(6,4)--(5,1)--(4,0);
\draw[dashed] (1,1)--(2,4);
\draw [->, >={Stealth[round]}] (0,0)--(1,1);
\draw [->, >={Stealth[round]}] (0,0)--(4,0);
\draw [->, >={Stealth[round]}] (0,0)--(1,3);
\draw [->, >={Stealth[round]}] (0,0)--(0,4);
\draw[dashed] (1,1)--(5,1);

\end{tikzpicture}

 

出力画像

vector parallelepiped element

写像系平行六面体ベクトル組み合わせ

var LaTeXコード

\usetikzlibrary{arrows.meta}
\begin{tikzpicture}

 

\draw[fill=cyan] (0,0)--(4,0.2)--(5.0,3.2)--(1,3)--(0,0);
\draw[fill=green] (5,3.2)--(1,3)--(4.2,3.8)--(8,4)--(5,3.2);
\draw[fill=yellow] (4,0.2)--(5,3.2)--(8,4)--(7,1)--(4,0.2);
\draw[dashed] (3.2,0.8)--(4.2,3.8);
\draw[dashed] (0,0)--(3.2,0.8);
\draw[dashed] (3.2,0.8)--(7,1);
\draw [->, >={Stealth[round]}] (0,0)--(4,0.2);
\draw [->, >={Stealth[round]}] (0,0)--(3.2,0.8);
\draw [->, >={Stealth[round]}] (0,0)--(1,3);

 

\end{tikzpicture}

 

出力画像

vector mapping parallelepiped element

立方体座標系付加画像

parallelepiped element

写像系平行六面体座標付加画像

parallelepiped element



ホーム RSS購読 サイトマップ
TOP 線形代数 ベクトル解析 慣性モーメント 解析力学 微分方程式 NEへの道しるべ