zone_axes プログラム仕様
概要: 立方晶系の結晶面とゾーン軸を3Dで可視化するスクリプト。 詳細説明:
このスクリプトは、matplotlibを使用して3Dプロットを作成し、指定されたミラー指数(hkl)を持つ結晶面と、 それらの法線ベクトル、および特定のゾーン軸を描画します。 主に[001]ゾーン軸に属する結晶面を表示し、結晶学における面と軸の関係を視覚的に理解するのに役立ちます。 生成されたプロットはPNG画像として保存されます。
関連リンク: 技術ドキュメント: zone_axes.py
- crystal.zone_axes.main()[ソース]
概要: 立方晶系の結晶面と[001]ゾーン軸を3Dで可視化し、画像を保存します。 詳細説明:
matplotlibを使用して3Dプロットを設定し、以下の要素を描画します。 - 3次元の軸とプロット範囲の設定。 - [001]ゾーン軸とそれに属する複数の結晶面(例: (110), (120), (010) など)。 - 各結晶面の法線ベクトル。 - 凡例とタイトル。 最終的に生成されたプロットは 'cubic_planes_001_zone.png' というファイル名で保存され、 画面にも表示されます。
- 戻り値:
None
- crystal.zone_axes.plot_plane(ax, h, k, l, color, alpha, label)[ソース]
概要: ミラー指数(hkl)で定義される結晶面を3D空間にプロットします。 詳細説明:
この関数は、立方晶系においてミラー指数(hkl)で定義される結晶面を、 平面方程式 hx + ky + lz = d (ここではd=1を仮定) に基づいて3Dプロットします。 プロット範囲はx, y, z軸それぞれ[-1.5, 1.5]に制限され、この範囲外に出る部分は表示されません。 ミラー指数に特定のゼロ値がある場合の特殊なケース(例: l=0, k=0, h=0)も処理します。 軸オブジェクトに直接描画を行い、明示的な戻り値はありません。