目次
1.変更履歴
2.機能概要
2.1 本プログラムの応用例
3.プログラムの実行環境
4.プログラムファイルと結晶データファイルの格納場所
5.プログラムの起動
6.制御パネルの使い方
6.1 制御パネルのメニューについて
6.2 PQデモについて
7.結晶図画面の使い方
7.1 結晶図画面のキー操作について
7.2 結晶図画面での結晶データ表示
8.面角計算
9.結晶データの生成・削除
10.ファイル直接編集
11.D0/Grの調整
12.結晶データの作成例
12.1 燐灰石
12.2 両錘水晶
12.3 トパーズ
12.4 ベスブ石
13.作図例
14.平面展開図の調整と結晶模型作成のコツ
15.双晶の詳細指定
16.測角支援機能について
17.模型色の指定
18.本プログラムの基本構造
19.注意事項・制限事項
20.参考文献
21.謝辞
今回の変更は、以下です。今までの変更履歴は、こちらに纏めました。
(17)Ver5.02
−>Ver6.00(2021.12.12公開版)
(17−1)改善・変更
@制御パネル内の人工水晶研究用のパーツを削除して、結晶図作成用ボタンを配置。
(16)Ver5.00 −>Ver5.02(2014.7.22公開版)
(16−1)改善・変更
@結晶データの作成・削除内の面生成条件の32晶族に5つ追加。
京都の谷口様より情報を頂いたので、早速組み込みました。
追加した3m(3m1)と-6m2(-6m2)は、電気石とベニト石の結晶データを作成
する際に有用です。
(15)Ver4.02 −>Ver5.00(2013.11.5公開版)
(15−1)改善・変更
@コンパイル条件を変更し、Windows7/Windows8 DeskTopモードに対応しました。
動作条件は、「デジタル鉱物図鑑」と同じです。
A新たな機能として、以下を追加しました。
・インストーラを「デジタル鉱物図鑑」と同様の仕掛けに変更.
(ただし、問題は出しません)
・一般デモモードの内容を色々と変更
・PQデモモードの速度を調節、スペースキーで一時停止
・結晶模型の色変更機能を追加(本の出版用に追加しましたが、結局使わず)
このソフトは、Windows7/8/10(Desktop Mode)版の結晶形態描画プログラムです。
以下の結晶データを元に結晶外形を計算し、結晶が成長する過程を連続表示します。
a)面(PLANE)データ
(1)面名称
:Name
(2)格子定数
:a,b,c(相対値)
(3)結晶軸間の角度
:α,β,γ
(4)各結晶面のミラー指数 :h,k,l
(5)各結晶面の中心からの初期距離:D0(相対値)
(6)各結晶面の成長速度
:Gr(相対値)
b)制御データ
(1)結晶の成長時間 :Start,End,Pitch
(2)X,Y,Z軸毎の回転データ :X,Y,Z,Pitch
(3)結晶の大きさ :Scale
(4)線の太さ :Line
(5)立体図のView
Mode :3D_VMODE
(6)展開図のView
Mode :2D_VMODE
(7)展開図の回転データ :2D_Rotate
(8)展開図の大きさ :2D_Scale
(9)R,P軸回転データ
:R,P
(10)32晶族(点群) :CLASS
c)動作モード
動作モードには、自動的に結晶の成長過程を表示するAutoモードと、
1回の描画毎に停止するManualモードが有ります。
また、X,Y,R,P,Zキーにより図形を回転したり、<,>キーにより
図形の大きさを自由に変更したりできます。
(マウスドラッグでも、図形の回転が出来ます。)
d)描画モード
結晶図は最初は隠れ線を緑色の点線で描画していますが、Vキーにより色々
変化します。各面に色や面番号、面グループ記号などが付きます。
線のみのシンプルな描画の時(3D_VMODE=0)、Lキーで手前側の線を太く
出来ます。
<貫入双晶オフの時>
3D_VMODE= 0:隠れ線も含め青色で描画(Lキー有効)
3D_VMODE= 1:隠れ線を緑色の点線で描画
3D_VMODE= 2:隠れ線を緑色の点線で描画(ミラー指数付き)
3D_VMODE= 3:隠れ線を緑色の点線で描画(面名称付き)
3D_VMODE= 4:隠れ線を緑色の点線で描画(面番号付き)
3D_VMODE= 5:隠れ線を消去
3D_VMODE= 6:隠れ線を消去(ミラー指数付き)
3D_VMODE= 7:隠れ線を消去(面名称付き)
3D_VMODE= 8:隠れ線を消去(面番号付き)
3D_VMODE= 9:各面に色を付けて描画
3D_VMODE=10:各面に色を付けて描画(ミラー指数付き)
3D_VMODE=11:各面に色を付けて描画(面名称付き)
3D_VMODE=12:各面に色を付けて描画(面番号付き)
3D_VMODE=13:左上から光源を当てて描画
3D_VMODE=14:左上から光源を当てて描画(ミラー指数付き)
3D_VMODE=15:左上から光源を当てて描画(面名称付き)
3D_VMODE=16:左上から光源を当てて描画(面番号付き)
<貫入双晶オンの時>
3D_VMODE= 0:表側の貫入面を白色で描画
3D_VMODE= 1:隠れ線を紫色の点線で描画
3D_VMODE= 2:隠れ線を紫色の点線で描画(ミラー指数付き)
3D_VMODE= 3:隠れ線を紫色の点線で描画(面名称付き)
3D_VMODE= 4:隠れ線を紫色の点線で描画(面番号付き)
3D_VMODE= 5:隠れ線を消去
3D_VMODE= 6:隠れ線を消去(ミラー指数付き)
3D_VMODE= 7:隠れ線を消去(面名称付き)
3D_VMODE= 8:隠れ線を消去(面番号付き)
<平面展開の時>
2D_VMODE= 0:面の色付け無し+面情報無し
2D_VMODE= 1:面の色付け無し+ミラー指数有り
2D_VMODE= 2:面の色付け無し+面名称有り
2D_VMODE= 3:面の色付け無し+面番号有り
2D_VMODE= 4:面の色付け有り+面情報無し
2D_VMODE= 5:面の色付け有り+ミラー指数有り
2D_VMODE= 6:面の色付け有り+面名称有り
2D_VMODE= 7:面の色付け有り+面番号有り
2.1 本プログラムの応用例
本プログラムは、結晶成長過程をシミュレーションする為に作成しましたが、
他にも以下の応用が考えられます。
(1)添付されている結晶データで、結晶の形を覚える。
(2)添付されている結晶データで、結晶面の対象性を学ぶ。
(3)結晶データの修正により、さらに理解を深める。
a)グループ編集機能により、D0/Grを変更して各面の出現条件
を調べる。これにより、例えば以下の事が判るでしょう。
・成長の速い面ほど、結晶原点からの距離が大きくなり、早く消滅する。
b)グループ編集機能により、既存の結晶データに新たな面データを
追加する。これにより、例えば以下の事が判るでしょう。
・TOPAZのu(111)面、o(211)面、i(223)面の出現条件範囲は
小さいので、これらの面はレアと考えられる。
・水晶のs面、x面、ξ(クシー)面も同様。
(4)結晶データの作成と結晶図の印刷<−−−−−−−−−お薦めです
Dana(デーナ)の本などから結晶データを参照し、色々な鉱物結晶の
データを作成する。面と面の角度(面角)も自動計算できます。
(5)色々な結晶データの結晶成長過程を見て楽しむ。また、デモンスト
レーションを見ても結構楽しめます。
「PQデモ」実行時には、左上のPQグラフ上で右クリックや
マウスドラッグして見て下さい。また、スペースキーでデモが中断します。
デモ中のデータは、LOAD中データとして残っているので、その結晶データを
変更して他のデータを作成したりファイルに保存したりできます。
(6)結晶の平面展開図から、結晶模型を作成できます。
教材にも応用できます。
(7)デザイン・アートへの応用
得られた結晶データを平面展開し、デザインとして応用する。
(8)結晶を描画中に、マウスドラッグすると、結晶がそれに合わせて動きます。
結晶形態によっては、平面的な結晶図から立体的な形態を掴むのは難しい
ことがありますが、この機能により結晶の立体的な形態を掴み易くなります。
本プログラムの動作は、Windows7/8/10(Desktop Mode)(いずれも日本語版)
で確認しています。
このプログラム(QuartzVS.exe)は、専用インストーラでインストールして下さい。
専用インストーラは、「C:\結晶SIM」にインストールします。
結晶データは、どこに置いても構いませんが、QuartzVS.exeと同じ場所に置いた方が、
データファイルを捜す際に便利です。
インストールの際は、添付の「実行までの手順.pdf」を、よく読んでください。
このプログラム(QuartzVS.exe)の実行は、インストール時に
デストップ上に作成されたショートカット・アイコンをダブルクリックするか、
エクスプローラ上でQuartzVS.exeをダブルクリックして下さい。
起動すると、まず下図の制御パネルが現れます。
<結晶データの実体について>
結晶データは、タイトル・格子定数(a,b,c,α,β,γ)と、結晶面のデータである
面名称(Name)+そのミラー指数(hkl)+結晶原点からの距離(D0)+面の成長速度(Gr)、
その他描画制御条件が含まれています。
従来の制御パネルでは人工水晶の研究用がメインだったのですが、Ver6.00では
結晶図作成をメインとすべく、メニュー内だけに有った、良く使う機能をボタンとして
配置しました。
機能ブロック毎に使い方を以下に示します。
(1)Title: 結晶データのタイトルは、ここでは変更できません。
(2)Lattice Parameters: 格子定数(a,b,c,α,β,γ)は、ここでは変更できません。
(3)Twin Control: 双晶の詳細指定をします。
(4)結晶図/データの表示: 「結晶データを開く」「結晶図の表示」「平面展開図の表示」
「晶帯軸の表示」「結晶データの表示」等、良く使うボタンが有ります。
(5)面角計算/測角支援他: 「面角計算」「測角支援@A」「測角支援B」「色の指定」
ボタンが有ります。
(6)結晶データの作成/変更: 「結晶データの生成・削除」ボタンで開始します。(詳細は8章参照)
終了後、自動的に結晶面の大きさ調整の画面に遷移します。
遷移しなかった場合又は、再調整する場合は「D0/Grの調整」ボタンを押して下さい。(詳細は9章参照)
特殊な面指定を行う場合は、ファイル直接編集を行います。その際には、終了後に再読込みして下さい。
(7)結晶データの保存: 「上書き保存(結晶データ)」「名前を付けて保存」等のボタンが有ります。
(8)STLデータの作成: 「結晶データをSTL1ファイルで作成」「双晶データをSTL2ファイルで作成」ボタンが有ります。
(9)Rotation: 通常変更しません。X,Y,R,P,Zは各軸の回転データを入れます(0-360度)。
図の回転については、結晶図画面でマウスドラッグしても良いです。
国際標準の斜視図で見るときは標準ボタンを押すか,結晶図画面でNキーを押します。
(10)Growth Time: 結晶の成長時間として、Start,End,Pitchに適当な値を入れます。
結晶 データ データ 作成時は 作成時は 、Start StartStartStartを end と同じ値にします。
(小⇒大の無駄な成長SIMを見ない設定)
(11)Draw Mode: 描画モードを指定します。自動的に結晶の成長過程を表示するAutoモードと、
1回の描画毎に停止するManualモードが有ります。
「Auto Draw」をチェックすると、Autoモードになります。
Autoモードの時、描画する間隔を「Interval Time」に入れます。
ゆっくり見たい場合以外は、通常0にします。
「代表面のみ表示」をチェックすると、面グループの最初の面のみに面名称を表示します。
メニューについて以下に説明します。
ここを読めば、このプログラムの概略機能が把握できます。
(1)「ファイル」メニューについて
(1−1)新規作成(結晶データ)
結晶データを初期化します。
(1−2)開く(結晶データ)
結晶データを読込みます。
ファイル入力画面が現れますので、目的の結晶データファイルを探して
クリックすると、「File
Name」にファイル名が現れます。この状態で
「LOAD」ボタンをクリックすると、目的の結晶データが読み込まれます。
結晶データが読み込まれますと、結晶データが表示されます。
ここで「結晶外形の描画」ボタンを押すと結晶図を描画します。
(1−3)再読込み(結晶データ)
現在開いている結晶データファイルを、ファイルから再読込みします。
(1−4)上書き保存(結晶データ)
現在の結晶データを、元の結晶データファイルに上書きします。
(1−5)名前を付けて保存(結晶データ)
結晶データに名前を付けてファイル保存します。
ファイル入力画面が現れますので、結晶データファイルを格納するディレ
クトリを探してクリックし、次いで新たなファイル名を入力して、「SAVE」
ボタンをクリックすると、結晶データが書き込まれます。
(1−6)名前を付けて保存(結晶データをSTL 1ファイルで)
Loadされている結晶データから、3Dプリンタ用のSTLファイルを1つ作成し保存します。
これは単晶用なので、双晶の場合は(1−7)を使います。
ファイル入力画面が現れますので、データを格納するディレクトリを探して
クリックし、次いで新たなファイル名を入力して、「SAVE」ボタンをクリックします。
(1−7)名前を付けて保存(結晶データをSTL 2ファイルで)
Loadされている結晶データから、3Dプリンタ用のSTLファイルを2つ作成し保存します。
これは双晶用なので、貫入される方と貫入する方の2ファイル出力します。
ファイル入力画面が現れますので、データを格納するディレクトリを探して
クリックし、次いで新たなファイル名を入力して、「SAVE」ボタンをクリックします。
(1−8)名前を付けて保存(指標CubeをSTLファイルで)
3Dプリンタ用の指標Cube(1辺1cmの立方体)を、STLファイルで保存します。
ファイル入力画面が現れますので、データを格納するディレクトリを探して
クリックし、次いで新たなファイル名を入力して、「SAVE」ボタンをクリックします。
(1−9)名前を付けて保存(結晶図画面をGIFファイルで)
結晶図画面を、GIFファイルで保存します。
ファイル入力画面が現れますので、データを格納するディレクトリを探して
クリックし、次いで新たなファイル名を入力して、「SAVE」
ボタンをクリックすると、結晶図のグラフィックデータ(xxx.GIFという名前の
ファイル)が書き込まれます。
(1−10)名前を付けて連続保存(結晶図画面をGIFファイルで)
結晶図の成長過程を、GIFファイルで連続保存します。
ファイル入力画面が現れますので、結晶図のグラフィックデータを格納する
ディレクトリを探してクリックし、次いで新たなファイル名を入力して、「SAVE」
ボタンをクリックすると、結晶図のグラフィックデータ(xxxnnn.GIFという名前の
ファイル。nnnは、結晶成長時間TIME)が1画面毎に連続して書き込まれます。
市販ソフトと組合せれば、結晶成長アニメファイル(GIF形式)が出来ます。
(注)画面の描画ピッチが小さいと、沢山のファイルが生成されますので、ご注意下さい。
(1−11)結晶図画面の結晶データの内容を印刷
結晶図画面に表示している、結晶データ又は面角計算結果をプリントします。
(1−12)プログラムの終了
プログラムを終了します。「Esc」キーを押しても終了します。
(2)「編集」メニューについて
(2−1)結晶データの生成・削除
結晶データの生成・削除を行います。
結晶データの生成・削除パネルの使い方は、9章で説明します。
(2−2)D0/Grの調整
面のD0/Grを、面グループ毎に調整し、結晶外形を整えます。
以下の条件を満たす面が、1つのグループとなります。
<面名称が付いている時>
・面NOが連続していて、同じ面名称の面を、1グループとする。
<面名称が付いていない時>
・面NOが連続していて、D0・Gr・及びhklの絶対値が一致している
面を1グループとする。
上記のグループ単位に、D0/Grを一括変更しながらその結果を描画します。
これにより、結晶データの作成を強力に支援します。例えば、
出現がレアな面の条件を簡単に捉える事も可能です。平面展開図を見ながらの、
編集も可能です。D0/Grの調整パネルの使い方は、11章で説明します。
(2−3)ファイル直接編集
現在LOAD中のFileを、*.txtファイルと関連付けしたアプリ(デフォルトはNotepad)
で開きます。アプリでの編集結果を反映するには、アプリ側でFileに
書込んでから、「(1−3)再読込み(結晶データ)」を実行します。
ファイル直接編集の方法は、10章でも説明します。
大規模な変更の際に便利です。
(2−4)双晶の詳細指定
双晶描画は、面接触双晶と貫入双晶が可能です。双晶の指定方法は、
15章で説明します。
(3)「実行」メニューについて
(3−1)結晶外形の描画
LOAD中の結晶データにしたがって、シミュレーションを実行します。
(3−2)シミュレーション/デモの中断
シミュレーション/デモを中断/再開します。「スペース」キーと同等の機能です。
(3−3)シミュレーション/デモの完全停止
シミュレーション/デモを完全に停止します。
(3−4)結晶データの表示
結晶図画面に結晶データが表示されます。
結晶データは、これで見た方が便利です。
(3−5)面角計算
面と面との角度(面角計算面)を行います。
(3−6)測角支援@A
@基準面との角度(面角)から面指数(ミラー指数)を求めます。
A現在の格子定数での対称面について、新たな格子定数での
面指数(ミラー指数)を求めます。
この機能は、面測角支援機能として作成しましたが
まだ試行段階です。
(3−7)測角支援B
B同じ晶帯軸を持つ複数面と基準面との角度(測定値)から、
ミラー指数(候補)を求めます。
この機能は、面測角支援機能として作成しましたが
まだ試行段階です。
(3−8)平面展開図の調整
この機能については、14章で説明します。
(3−9)結晶図の画面へ
結晶図の画面を表示します。
結晶図画面の使い方は、7章で説明します。
(4)「PQデモ」メニューについて
「PQデモ」については、6.2節で説明します。
以下の3種類あります。
(4−1)水晶の面成長速度変化による結晶外形変化
(4−2)黄鉄鉱の面成長速度変化による結晶外形変化
(4−3)立方晶系に属する結晶のPQダイアグラム
(5)「一般デモ」メニューについて
「百聞は一見にしかず」実行してみましょう。
以下の5種類あります。
(5−1)最後に開いたDIRに有るデータの連続描画(50面以下)
(5−2)LOAD中の結晶成長−>回転−>平面展開
(5−3)C軸回転連続
(5−4)DIRを指定して連続描画(自動)
(5−5)DIRを指定して連続描画(手動)
(6)「ヘルプ」メニューについて
(6−1)目次
このヘルプファイル開きます。
(6−2)バージオン情報
このプログラムのバージョンを表示します。
6.2 PQデモについて
「PQデモ」メニューの下に、以下の3つのデモが有ります。
・水晶の面成長速度変化による結晶外形変化
・黄鉄鉱の面成長速度変化による結晶外形変化
・立方晶系に属する結晶のP-Qダイアグラム(この下に35
Form有ります)
本機能と平面展開を組合せる事により、デザイン応用への可能性が有り
ます。実在する結晶データの展開図もデザイン応用が可能ですが、
仮想結晶の方が、よりデザイン向きに思えます。
PQデモ中にUキーを押すと、対応する平面展開図で描画します。
この画面では、結晶外形(3D)図、平面展開(2D)図を表示します。
"D"キーで、結晶データも表示しますが、面数が多いと画面外にはみ出して、
見えなくなります。結晶データは、「DATAパネル」で見る方が適しています。
制御は、主にキー操作(画面下参照)で行います。
結晶外形(3D)図です。
結晶外形(3D)図で、晶帯を太線の色で表示した図です。
同じ色の晶帯軸(面と面の交線=陵)は、同じ晶帯に属しています。
同じ晶帯に属する面同志の面角は、一括して測定すると効率的です。
平面展開(2D)図です。紙模型が簡単に作れます。
キー操作は、以下様になっています。
結晶外形(3D)の描画中と、平面展開(2D)図の描画中で、キーの意味が
若干異なります。
(1)結晶外形(3D)の描画中
SPACE : Start/Stop
Sim. −−−−−− シミュレーションやデモを、スタートしたり
一旦停止したりします
F1
: Stop Sim. −−−−−−−−− シミュレーションやデモを、完全停止します
ESC
: Program End−−−−−−−− プログラムを終了します
A
: Axis −−−−−−−−−−− XYZ軸/abc軸の表示を、オン・オフします
B
: Go to Control Panel−−−− 制御パネルを表示します
C
: Clear Display −−−−−− 文字のみを消去します
D
: Data Display −−−−−−− 面データを表示します
←→↑↓(+CTL)
: PQ Change −−−− PQデモの時PQ値を変更します
L(+Shift) : Line
Thick −−−−−− 3D_VMODE=0の時、図形の手前側の線の
太さを変更します
U
: Unfold −−−−−−−−−− 結晶を平面に展開します
もう一度押すと結晶外形図に戻ります
V(+Shift) : View Mode
Change−−− 隠れ線を消去したり、面に色や
番号を付けます
<,> : Scale Factor Change −-−− 図形の大きさを変更します
R,P,Z(+Shift+CTL):Rotation
R,P,Z −−R,P,Z軸方向に図形を回転します
A,B,C(+ALT) :
Rotation−−−−−−− a,b,c軸から見た図形を描画します。
N(+ALT) : Rotation
−−−−−−−− 国際標準の斜視図を描画します。
貫入双晶の時は、以下のキーを押す事により設定を変更できます。
回転角 : CTL+K、CTL+SHIFT+K
大きさ(比) : CTL+<、CTL+>
貫入双晶ON/OFF : CTL+T
貫入双晶の描画調整
: SHIFT+T(カルルスバッド用)
貫入部分の描画ON/OFF: T
立体視表示中は、以下のキーで2つの結晶図を調整します。
<,> : 2つの結晶図の大きさを調整
ALT+<,> : 2つの結晶図の距離を調整
ALT+CTL+<,>: 右目用の結晶図の視差を調整します。
(2)平面展開(2D)図の描画中
SPACE : Start/Stop
Sim. −−−−−− シミュレーションやデモを、スタートしたり
一旦停止したりします
ESC
: Program End−−−−−−−− プログラムを終了します
B
: Go to Control Panel−−−− 制御パネルを表示します
U
: Unfold −−−−−−−−−− 結晶を平面に展開します
もう一度押すと結晶外形図に戻ります
V(+Shift): View Mode
Change−−−− 面に色や番号やのろしろを付けます
X,Y,Z(+Shift+CTL):Rotation
X,Y,Z −−図形が回転します
<,> : Scale Factor Change −-−− 図形の大きさを変更します
結晶図画面では、結晶データと面角計算結果も表示可能です。
"D"キーで結晶データの表示、"M"キーで面角を表示します。
結晶図画面との大きな違いは、出力された文字が全て残っており、
画面外データもスクロールする事で見えることです。
面数の多いデータを扱う時には、この機能を使って表示すると便利です。
面角計算結果の場合は、左側の面NOの左側の数字キーを押すと、その位置に
ジャンプします。(NO=81の場合は、8キーを押すと面NO=80の先頭にジャンプ)
「Esc」キーを押すと、結晶図表示に戻ります。
面角計算には、面を指定して1組のみ計算する方法と、全組合せ計算実行ボタン
を押して、結晶図画面の結晶データ表示機能で一括して見る方法があります。
1組のみ計算する方法には、ミラー記号を指定する方法(入力エリア1)と、面NOを指定する
方法(入力エリア2)とが有ります。
(注1)面接触双晶を表示している場合、双晶間の面角も計算できます。
(注2)角度の度分秒表示形式(12°30′)への切り替えも可能にしました。
以下の手順で、格子定数と面データを自動生成します。
(1)下方にある枠の、鉱物名(英名)に目的鉱物名を入れます。
名前は、先頭数文字で構いません。
鉱物名の入力後に、リターンキーを押すかDB検索ボタンを押すと、
検索結果が表示されます。
(2)鉱物DBに化学式を追加しましたので、化学式でも検索可能です。
検索条件は、and条件(スペース)のみです。
例:「Fe Te」は、FeとTeを含む鉱物を検索します。
(3)目的の鉱物名を探して、その行をクリックすると、
登録されている晶族名にて、上の枠の面生成条件のチェックボックスがONになります。
同時に、その鉱物の格子定数がセットされ、鉱物名がTITLEに入ります。
DBに無い場合は、何らかの方法で鉱物の晶族を調べ人手でチェックします。
(4)次に、ミラー指数(hkl)、距離(D0)、成長速度(Gr)を入れて、
面データ生成ボタンを押し、面グループを生成します。この時、各晶族毎に面の
対称性が考慮されるので、代表面1つだけを入力すれば全ての面を発生します。
(5)描画したい鉱物の32晶族名が既知であれば、直接32晶族名をチェックON
しても構いません。その場合は、格子定数やTITLEを制御パネルで入力します。
(6)「Name=hkl」をチェックした時、Name/hklどちらかが指定されていれば、
もう一方は同じ値になります。入力の手間が省けます。
(7)「個別名称」をチェックした時、面名称は(Name)+番号になり、1面ずつ
ユニークな名前になります。
(8)面グループ単位にデータ削除するには、面名称(Name)を指定して
「面グループ削除」ボタンをクリックします。
本機能を使った、具体的な結晶データの作成例を、12章で説明します。
現在LOAD中のFileを、*.txtファイルと関連付けしたアプリ(デフォルトはNotepad)で
開きます。アプリは、QuartzVS.exeとは全く独立の別プログラムですので、下の注意点を
良く読んでください。
<編集時の注意点>
@編集アプリでの編集結果を反映するには、編集アプリ側でFileに書込んでから、
QuartzVS.exe側で「再読込み(結晶データ)」を実行します。
APLANE
NOは便宜上つけているだけなので、順番を入れ替えても問題有りません。
次回のQuartzVS.exe側での保存時に付け直します。
面データを定義しても、全ての面が結晶面に出現するとは限りません。
そこで、D0/Grを調整して、結晶の形を整える必要が有ります。
また、逆に取り敢えず邪魔な面を見えなくする操作としても使えます。
「D0/Grの調整」パネルでは、以下のルールでグループ化された複数の
面のパラメータを、一括して操作します。グループ定義は、本パネルが出現
する度に生成されます。
<面名称が付いている時>
・面NOが連続していて、同じ面名称の面を、1グループとする。
この時、hklの絶対値が一致していない場合は、そこに*が入ります。
<面名称が付いていない時:極力、面グループ名称を付けて捜査してください>
・面NOが連続していて、hklの絶対値とD0/Grが一致している面を
1グループとする。
面グループデータは以下により構成します。メモリ上にのみ存在し、ファイルには
格納しません。
(1)面グループの名前 :Name
a,b,c,o,r,m面など、面名称がグループ名になります。
面名称が無い場合は、NULデータが入ります。
(2)面グループの範囲 :From,To
連続する面NOの、From/Toが入ります。
連続していない面はグループ化出来ないので、Notepadなどで順番を入れ
替えておいて下さい。
(3)面グループ共通のミラー指数 :h,k,l(絶対値)
+−を取り除いた数字です。グループ内で共通にならない場合は、"*"
が入ります。(例:1*1)
(4)面グループの中心からの初期距離 :D0(相対値)
(5)面グループの成長速度 :Gr(相対値)
上記のグループデータは、普通の面データとは独立に存在します。
結晶外形や平面展開図を描画する際には、面のグループデータを各面データに
展開します。従って、この時点で面データが更新されるので、注意が必要です。
以下に主要なボタン類とその機能を説明します。
11.1 グループデータが各面に展開されるボタン類<下記(3)以外は図形描画を伴う>
(1)展開と図形描画
グループデータを各面データに展開し、結晶外形か展開図を描画します。
(2)展開と図形描画(3D<->2D切替)
グループデータを各面データに展開し、結晶外形か展開図を描画します。
結晶外形と展開図を、交互に切替えます。
(3)グループデータの展開のみ実行
グループデータを各面データに展開します。
・グループデータに対応する面データが無い場合は、面データを追加生成します。
但し、hklパラメータの符号は、制御パネルに戻って修正する必要が
有ります。
(4)<---
グループデータのD0/Grを-0.01(+CTLで-0.1)した後、グループデータを各面データに
展開し、結晶外形か展開図を描画します。
(5)--->
グループデータのD0/Grを+0.01(+CTLで+0.1)した後、グループデータを各面データに
展開し、結晶外形か展開図を描画します。
<お知らせ1>
上記ボタンによる図形描画においては、表示中のグループに対応した面にのみ色が
付きます。これによって、編集対象面が視覚的に把握でき、また結晶上に面が現れる
条件を、捉え易くしました。(下図参照:水晶のs面のD0/Grを調整中)
11.2 その他
(1)データの再読込み
LOAD中のFileから再LOADします。前回LOAD後に更新された内容は破棄されます。
(2)終了
制御パネルに戻ります。
「Esc」キーでも、同様に制御パネルに戻ります。
(3)結晶外形の全体調整(Gr)
全ての面のGrについて、a軸、b軸、c軸成分毎に、0でない面を一括変更
出来ます。これで、結晶図の全体イメージを調整します。
ここでは、いくつかの結晶データを作ってみます。結晶データが、非常に簡単に作成できる
事が分かると思います。
最初に、燐灰石の結晶データを作成してみます。
12.1 燐灰石(六方晶系)
(1)「制御パネル」で右中央にある「面データの生成/削除」ボタンを押すか、
「編集」⇒「結晶データの生成・削除」メニューを押す。
現在のデータを残すか確認して来るので、「いいえ」と答える。
(現在のデータを編集(面の追加・削除)の場合は、「はい」と答える。)
(2)格子定数と32晶族のセット
(2−1)鉱物DB登録有りのケース:燐灰石は登録済みです
「結晶データの生成・削除パネル」で、以下の手順で鉱物DBを検索します。
@一番下の鉱物名に「燐灰石」を入れます。名前は先頭の数文字でも構いません。
「左の鉱物名を含む検索」をチェックすると、塩素燐灰石・弗素燐灰石・水酸燐灰石もヒットします。
A入力後にリターンキーを押すかDB検索ボタンを押すと、検索結果が表示されます。
B燐灰石の行をクリックすると、その鉱物の格子定数、鉱物名、32晶族がセットされます。
燐灰石の場合は下記です。
a:b:c=9.38:9.38:6.89, γ=120゜,6/m
C必要があれば、ここで格子定数やTITLEを修正します。
鉱物DB登録状態には、以下の3レベル有ります。
レベル0:鉱物名の晶族、格子定数どちらも登録無し
レベル1:鉱物名の晶族、格子定数どちらかしか登録されていない
レベル2:鉱物名の晶族、格子定数のどちらも登録有り
(2−2)鉱物DB登録無しのケース
レベル0と1の場合は、何らかの方法で鉱物の晶族と格子定数を調べて
セットする必要が有ります。判らない場合は、晶族を(m3m)として全ての面の組合せを
自動発生させ、後で不要な面を削除します。
この時、自動的にα=β=γ=90になるので、α、β、γも後で修正して下さい。
(注)格子定数は時代と共に変更されており、その結晶図を書いた時の格子定数を用いないと正し
い結晶図が描画できません。結晶図と格子定数がきちんと書かれている文献としてDana6版、
ペグマタイト誌を推奨します。
(3)面データの作成
Name欄にmを、hkl欄に100(半角)を入力し、「面データ生成」ボタンを押すと、6面分のデータを
自動生成します。同様に、x面101(12面)、c面001(2面)を生成します。これで、面データが合計
20面生成できました。「終了」ボタンを押して、「制御パネル」に戻りますと、
自動的に「D0/Grの調整パネル」と「結晶図パネル」が開きます。
(4)結晶の形を調整(重要)
面データを定義しても、全ての面が結晶面に出現するとは限りませんし、形もお手本の結晶
図とは違います。そこで、D0/Grを調整する事で中心点からの結晶面の距離dを調整します。
d=D0+t・Gr
D0:面グループの中心からの初期距離(相対値)
t :結晶成長時間(通常は固定値)
Gr:面グループの成長速度(相対値)
「D0/Grの調整パネル」では、同じ面名称毎にグループデータが自動生成されます。
これをを使って、面グループ(ここではm,x,cの3グループ)単位にD0/Grを一括変更し、
その結果を見ながら調整します。
@D0/Grの調整パネル中央の図形描画ボタンを押すと、結晶図が現れます。
A次にパネル下の結晶外形の全体調整(Gr)にて、a軸、b軸、c軸成分毎に
結晶図の全体イメージを調整します。
今回の場合、縦方向に引き伸ばす為に、c軸方向の--->+ボタンを数回押します。
この操作の前後の結晶変化を、下図に示します。
B面グループ毎の調整
さて、最終段階です。パネル左上のGrの<--- ,--->ボタンを使ってグループデータのGrを0.01(+CTLで
0.1)毎に増減し各面グループの大きさを調整します。(殆どの場合Grだけで調整できます。)
D0/Grを小さくすると、中心点からの距離が短くなり、結果として面積が大きくなります。この様に、
面積が大きい=よく発達している面と思いがちですが、成長の遅い(Gr小)面ほど結晶面
が大きい事に注意が必要です。
x面がやや小さいので、これを調整します。まず、--->ボタンの右に有る縦のスライダバーを動
かして、操作対象を目的の面グループ名「x」にします。次にGrの<---ボタンを数回押して、結晶
面を大きくします。(反対に、面グループ「c」を小さくしても良いです。)
この操作中は操作対象の面グループに色が付いていますが、この色付け機能は、32晶族の
面の対照性を勉強するのに役立ちます。また、この段階でUキーを押すか「図形描画3D<->2D
切替」ボタンを押すと、結晶の平面展開図になります。
C目的の結晶形が出来たら「終了」ボタンを押して「制御パネル」に戻ります。
(5)結晶図の最終描画とデータ保存
結晶外形の描画ボタンで結晶を描画した後、Vキーで好みの描画モードにし、「ファイル」をクリ
ックして、その下に有る「名前を付けて保存(結晶データ)」で、結晶データを保存します。
12.2 両錘水晶(六方晶系)
(1)「制御パネル」で右中央にある「面データの生成/削除」ボタンを押すか、
「編集」⇒「結晶データの生成・削除」メニューを押す。
現在のデータを残すか確認して来るので、「いいえ」と答える。
(現在のデータを編集(面の追加・削除)の場合は、「はい」と答える。)
(2)格子定数と32晶族のセット
(2−1)鉱物DB登録有りのケース:水晶は登録済みです
「結晶データの生成・削除パネル」で、以下の手順で鉱物DBを検索します。
@一番下の鉱物名に「Quartz」を入れます。名前は先頭の数文字でも構いません
A入力後にリターンキーを押すかDB検索ボタンを押すと、検索結果が表示されます。
BQuartzの行をクリックすると、その鉱物の格子定数、鉱物名、32晶族がセットされます。
水晶の場合は下記です。
a:b:c=4.9133:4.9133:5.4053, γ=120゜,32
C必要があれば、ここで格子定数やTITLEを修正します。
鉱物DB登録状態には、以下の3レベル有ります。
レベル0:鉱物名の晶族、格子定数どちらも登録無し
レベル1:鉱物名の晶族、格子定数どちらかしか登録されていない
レベル2:鉱物名の晶族、格子定数のどちらも登録有り
(2−2)鉱物DB登録無しのケース
レベル0と1の場合は、何らかの方法で鉱物の晶族と格子定数を調べて
セットする必要が有ります。判らない場合は、晶族を(m3m)として全ての面の組合せを
自動発生させ、後で不要な面を削除します。
この時、自動的にα=β=γ=90になるので、α、β、γも後で修正して下さい。
(3)面データの作成
Name欄にmを、hkl欄に100(半角)を入力し、「面データ生成」ボタンを押すと、6面分のデータを
自動生成します。同様に、r面101(6面)、z面011(6面)を生成します。これで、面データが合計
18面生成できました。「終了」ボタンを押して、「制御パネル」に戻りますと、
自動的に「D0/Grの調整パネル」と「結晶図パネル」が開きます。
(4)結晶の形を調整(重要)
面データを定義しても、全ての面が結晶面に出現するとは限りませんし、形もお手本の結晶
図とは違います。そこで、D0/Grを調整する事で中心点からの結晶面の距離dを調整します。
d=D0+t・Gr
D0:面グループの中心からの初期距離(相対値)
t :結晶成長時間(通常は固定値)
Gr:面グループの成長速度(相対値)
「D0/Grの調整パネル」では、同じ面名称毎にグループデータが自動生成されます。
これをを使って、面グループ(ここではm,r,zの3グループ)単位にD0/Grを一括変更し、
その結果を見ながら調整します。
@D0/Grの調整パネル中央の図形描画ボタンを押すと、結晶図が現れます。
A次にパネル下の結晶外形の全体調整(Gr)にて、a軸、b軸、c軸成分毎に
結晶図の全体イメージを調整します。
今回の場合、縦方向に引き伸ばす為に、c軸方向の--->+ボタンを数回押します。
この操作の前後の結晶変化を、下図に示します。
B面グループ毎の調整
さて、最終段階です。パネル左上のGrの<--- ,--->ボタンを使ってグループデータのGrを0.01(+CTLで
0.1)毎に増減し各面グループの大きさを調整します。(殆どの場合Grだけで調整できます。)
D0/Grを小さくすると、中心点からの距離が短くなり、結果として面積が大きくなります。この様に、
面積が大きい=よく発達している面と思いがちですが、成長の遅い(Gr小)面ほど結晶面
が大きい事に注意が必要です。
z面がやや大きいので、これを調整します。まず、--->ボタンの右に有る縦のスライダバーを動
かして、操作対象を目的の面グループ名「z」にします。次にGrの--->ボタンを数回押して、結晶
面を小さくします。(反対に、面グループ「r」を大きくしても良いです。)
この操作中は操作対象の面グループに色が付いていますが、この色付け機能は、32晶族の
面の対照性を勉強するのに役立ちます。また、この段階でUキーを押すか「図形描画3D<->2D
切替」ボタンを押すと、結晶の平面展開図になります。
C目的の結晶形が出来たら「終了」ボタンを押して「制御パネル」に戻ります。
(5)結晶図の最終描画とデータ保存
結晶外形の描画ボタンで結晶を描画した後、Vキーで好みの描画モードにし、「ファイル」をクリ
ックして、その下に有る「名前を付けて保存(結晶データ)」で、結晶データを保存します。
12.3 トパーズ
(1)「制御パネル」で右中央にある「面データの生成/削除」ボタンを押すか、
「編集」⇒「結晶データの生成・削除」メニューを押す。
(2)格子定数と32晶族のセット
(2−1)鉱物DB登録有りのケース:トパーズは登録済みです
「結晶データの生成・削除パネル」で、以下の手順で鉱物DBを検索します。
@一番下の鉱物名に「topaz」を入れます。名前は先頭の数文字でも構いません
A入力後にリターンキーを押すかDB検索ボタンを押すと、検索結果が表示されます。
BTopazの行をクリックすると、その鉱物の格子定数、鉱物名、32晶族がセットされます。
トパーズの場合は下記です。
a:b:c=4.649:8.796:8.39 ,mm2
(3)面データの作成
面グループ(m(110),l(120),c(001),d(201),u(111),o(221),f(021),y(041),n(140)
等)
を生成します。
「終了」ボタンを押して、「制御パネル」に戻りますと、
自動的に「D0/Grの調整パネル」と「結晶図パネル」が開きます。
(4)結晶の形を調整(重要)
面グループ単位にD0/Grを一括変更し、その結果を見ながら調整します。
@D0/Grの調整パネル中央の図形描画ボタンを押すと、結晶図が現れます。
A次にパネル下の結晶外形の全体調整(Gr)にて、a軸、b軸、c軸成分毎に
結晶図の全体イメージを調整します。
B最後にパネル左上のGrにて、Grの<--- ,--->ボタンを使ってグループデータのGrを0.01(+CTLで
0.1)毎に増減し各面グループの大きさを調整します。
例えば、Grに下記の値を入れると、TOPAZらしい形になります。
Name=m:Gr=1.15
Name=l:Gr=1.20
Name=c:Gr=1.30
Name=d:Gr=1.34
Name=u:Gr=1.44
Name=o:Gr=1.37
Name=f:Gr=1.35
Name=y:Gr=1.36
C目的の結晶形が出来たら「終了」ボタンを押して「制御パネル」に戻ります。
(5)結晶図の最終描画とデータ保存
結晶外形の描画ボタンで結晶を描画した後、Vキーで好みの描画モードにし、「ファイル」をクリ
ックして、その下に有る「名前を付けて保存(結晶データ)」で、結晶データを保存します。
12.4 ベスブ石
(1)「制御パネル」で右中央にある「面データの生成/削除」ボタンを押すか、
「編集」⇒「結晶データの生成・削除」メニューを押す。
(2)格子定数と32晶族のセット
(2−1)鉱物DB登録有りのケース:ベスブ石は登録済みです
「結晶データの生成・削除パネル」で、以下の手順で鉱物DBを検索します。
@一番下の鉱物名に「VESUV」を入れます。名前は先頭の数文字でも構いません
A入力後にリターンキーを押すかDB検索ボタンを押すと、検索結果が表示されます。
BVesuvianiteの行をクリックすると、その鉱物の格子定数、鉱物名、32晶族がセット
されます。ベスブ石の場合は格子定数に数字以外の文字"-"が含まれているので、
下記に修正します。
a:b:c=15.5:15.5:11.8 ,4/mmm
(3)面データの作成
面グループ(a(100),c(001),m(110),p(111),e(101),t(331),s(311),b(010)
等)
を生成します。
「終了」ボタンを押して、「制御パネル」に戻りますと、
自動的に「D0/Grの調整パネル」と「結晶図パネル」が開きます。
(4)結晶の形を調整(重要)
面グループ単位にD0/Grを一括変更し、その結果を見ながら調整します。
@D0/Grの調整パネル中央の図形描画ボタンを押すと、結晶図が現れます。
A次にパネル下の結晶外形の全体調整(Gr)にて、a軸、b軸、c軸成分毎に
結晶図の全体イメージを調整します。
B最後にパネル左上のGrにて、Grの<--- ,--->ボタンを使ってグループデータのGrを0.01(+CTLで
0.1)毎に増減し各面グループの大きさを調整します。
例えば、Grに下記の値を入れると、白石沢産(そろばん玉状)のベスブ石らしい形
になります。
Name=a:Gr=1.40
Name=c:Gr=1.30
Name=e:Gr=1.30
Name=p:Gr=0.76
Name=t:Gr=1.44
Name=s:Gr=1.44
Name=m:Gr=1.15
Name=b:Gr=1.35
C目的の結晶形が出来たら「終了」ボタンを押して「制御パネル」に戻ります。
(5)結晶図の最終描画とデータ保存
結晶外形の描画ボタンで結晶を描画した後、Vキーで好みの描画モードにし、「ファイル」をクリ
ックして、その下に有る「名前を付けて保存(結晶データ)」で、結晶データを保存します。
(1)水晶の結晶成長アニメーション
この結晶データは、底面(00-1)のD0=0/Gr=0とし、m面のD0=10/Gr=0としています。
この様に、Gr=0(成長を止める)を活用すると、見た目に面白いアニメーションが出来ます。
本図は、「名前を付けて連続保存(結晶図画面をGIFファイルで)」機能により、
複数のGIFファイルを連続生成した後、これらを市販のプログラム(PictureGear(SONY)等)
により、1つのGIFファイルに纏めました。
(2)水晶の日本式双晶
(3)トパーズ
(4)ベニト石
(5)ベスブ石:ソロバン玉型
ここでは、結晶の平面展開図の調整の仕方と、結晶模型作成のコツをいくつか
ご紹介します。
(1)結晶の平面展開図の調整
下図は、制御パネルのオプションメニューにある、「平面展開図の調整」を
実行することで現れるウィンドウです。最初は、何も登録されていませんが、
面NO 1,2に連結したい面NOを記入し、追加ボタンを押して登録します。
この時、隣り合っていない面同志を指定すると、それ以後のデータが無効に
なるので、間違わない様に注意して下さい。
上図は、「__3水晶_sx.txt」のデータで、s面(面NO=19)を中心に
面を連結することで模型を作り易くしています。
この設定時の、平面展開図を以下に示します。面NO=19を中心に、
面NO=13,7,20,21,4が連結されている事が判ると思います。
(2)結晶模型作成のコツ
準備:紙模型の素材と用具を準備する.
@厚紙かスチレンボード(厚さ1mm)
ただし,展開図にのりしろ付を用いる場合は薄い紙で良い
A接着剤(スチレンボードにはスチ糊がベスト)
Bカッター,カッターマット,定規,テープ,輪ゴム
準備が整ったら以下の手順で組み立てる.
手順1:印刷した紙を,厚紙(スチレンボード)にテープで2〜3ヵ所,仮止めする.
手順2:平面展開図の外周をカッターで切り抜き,スチレンボードを切り出す.この時,
同じ方向の線を集中してカットすると効率が良い.
手順3:折り曲げる所に浅い切りこみを入れ,紙面の向こう側に折り曲げる.
(展開図は結晶を外側から見た面の積み重ねなので,結晶図通りに組
み立てるには,紙面の向こう側に折り曲げる.)
手順4:適当な面を下にして,接合部を立体の内側からテープで仮止めしておき,
外側の接合部を接着剤で一辺ずつ接着する.手が入る間はこれを繰り返す.
手順5:手が入らなくなったら,外側から接合部の周囲をテープや輪ゴムで仮止め
して,最後は外側から接着剤で張り付ける.
完成
双晶の詳細指定パネルが現れます。以下の@〜Bを設定します。
@双晶種別: なし、接触双晶、貫入双晶のいずれかを指定します。
A接触双晶: 接触双晶指定のとき、双晶面(接触面)の面NOを指定します。
B貫入双晶: 貫入双晶指定のとき、双晶軸・双晶面のどちらか1つと、
回転角、大きさ(比)、貫入部分も描画するかを指定します。
下図は、ベニト石貫入双晶の例です。
測角支援機能には、
@基準面との面角から面指数を求める機能
A新たな格子定数での面指数を求める機能
B晶帯軸の考え方を導入して、効率よく面指数を求める機能
があります。
16.1 測角支援機能@Aについて
フォームの上半分が、@基準面との面角から面指数を求める機能です。
この機能は、ある基準面に対する対象面との面角が測定された時に、その
対象面のミラー指数候補を求めます。
・起動すると現在の格子定数が自動的にセットされますが、手動で変更出来ます。
・最大ミラー指数に、求めるミラー指数の最大値(初期値5)を設定します。
・偏差範囲に、面角の許容誤差の最大値(初期値5度)を設定します。
・基準面との角度に、測角値を設定します。
・基準面のミラー指数に、既知の基準面ミラー指数を設定します。
計算実行ボタンを押すと、ミラー指数候補は(0〜5,0〜5,0〜5)の中から、
測角値と面角の理論値との差が5度以内の物をリストボックスに表示します。
次に、フォームの下半分は、A新たな格子定数での面指数を求める機能です。
この機能は、現在の格子定数での面指数を、新たな格子定数での面指数に
変換したい時に使います。(通常は、殆ど使いません)
・起動すると現在の格子定数が、画面上半分に自動的にセットされます。
現在の格子定数は、@A両方で使います。手動でも変更出来ます。
・<現在の格子定数>基準面ミラー指数に、既知の基準面ミラー指数を設定します。
・<現在の格子定数>対象面ミラー指数に、既知の対象面ミラー指数を設定します。
・<新たな格子定数>基準面ミラー指数に、既知の基準面ミラー指数を設定します。
・新たな格子定数を、手動で設定します。
・画面上の最大ミラー指数に、求めるミラー指数の最大値(初期値5)を設定します。
・画面上の偏差範囲に、面角の許容誤差の最大値(初期値5度)を設定します。
計算実行ボタンを押すと、ミラー指数候補は(0〜5,0〜5,0〜5)の中から、
測角値と面角の理論値との差が5度以内の物をリストボックスに表示します。
16.2 測角支援機能Bについて
フォーム全体が、晶帯軸の考え方を導入して、効率よく面指数を求める機能です。
この機能は、ある基準面に対する1つの晶帯軸を持つ対象面群との測角値(複数)が
測定された時に、その測角値に対応した対象面(複数ある)のミラー指数候補群を求めます。
・起動すると「ペグマタイト 07−6 p16」の格子定数が自動的に
セットされますが、手動で変更出来ます。
・晶帯軸に、既知の晶帯軸指数を設定します。
・基準面のミラー指数に、既知の基準面ミラー指数を設定します。
・最大ミラー指数に、求めるミラー指数の最大値(初期値2)を設定します。
・許容誤差に、面角の許容誤差の最大値(初期値2度)を設定します。
・測定値に、複数の測角値をカンマで区切って設定します。
計算実行ボタンを押すと、ミラー指数候補は(0〜2,0〜2,0〜2)の中から、
測角値と面角の理論値との差が2度以内の物をリストボックスに表示します。
ここで、基準面がわからない場合には、基準面をクリアします。
この状態で計算実行ボタンを押すと、基準面を変えながら複数の候補群を
リストボックスに表示します。
Viewモードを変更していくと、クリーム色の結晶図になりますが、
この時に「制御パネル」の「模型色の指定」ボタンを押すと結晶の色を指定できます。
下図は、色指定の画面ですが、マウスで指定してから「模型描画」ボタンを押してください。
(本機能は、本の出版用に作成しましたが、結局使いませんでした)
本プログラムの計算原理は、参考文献1の「桜井プログラム」と同じであり、それは以下の様になっています。
(1) 結晶内部に任意の原点を置き、結晶面(h,k,l)までの法線の長さをdとして面方程式
hx+ky+lz=d
を定義する。ここで、xyz軸は、お互いに直交していないし、長さの単位も等しくない。
(2) 格子定数(a,b,c,α,β,γ)1組と、上記面方程式のパラメータ(h,k,l,d)を面毎に定義し、
結晶データとする。
(3)全ての面方程式を、直交座標に変換する。直交座標としては、V3をcに平行に、V2をbc
面内でbの向きに、V1をV2,V3と右手直交系を作る様に選び、下記の変換マトリクス(R)
を得る。(*付きは逆格子定数)
V1 | a* b*cosγ* c*cosβ*
| a
a
V2 = | 0 b*sinγ* -c*sinβ*cosα| x b
= (R) x b
V3 | 0 0
1/c | c
c
(4)マトリクス(R)を用いて、面指数(h,k,l)を、V系(直交座標)での面指数
(H,K,L)に変換する。
H
h
K = (R) k
L l
以上により、直交座標(X,Y,Z)での面方程式は下式となる。
HX+KY+LZ=d
(5)直交座標に変換された各面の面方程式を用い、全ての3面の組合せ毎に交点を求める。
尚、3面の交点は、比較的簡単な行列計算により求まる。
(6)結晶外の交点の除去
求めた交点と原点を結ぶ線を面の垂直方向に投影した長さが、各3面の法線の長さより大き
い場合は、結晶外交点として除去する。従って、このプログラムで描ける図形は、凸形立体
図に限定される。除去アルゴリズムも、以下に公開します。
(7)同一頂点を除去する。
(8)得られた全ての頂点から、線データを求め、描画する。
ここで、「桜井プログラム」の最大の特徴は、面方程式の右辺dを、
d=d0+t×gr
d0:原点からの距離の初期値
t :結晶成長時間
gr:単位時間の成長速度
として時間の概念を導入し、さらに
d=d0+(ti+n×td)×gr
ti:成長開始時間
td:時間の刻み
n :時間の刻みtdのループ回数
として、時間の刻みtd毎の結晶成長過程を目で確認出来るようにした事である。
この素晴らしい発想が、結晶成長シミュレーションを可能にしている。
本プログラムの計算手順は、概ね以下の様になっています。
(1)初期設定
(2)データ読み込み[格子定数(a,b,c,α,β,γ),面指数(h,k,l,d)×面の数]
(3)逆格子(R)の計算
(4)図の尺度計算
(5)面方程式の係数(HKL)の計算
<面方程式の右辺dを、d=d0+(ti+n×td)×grとして、下記をtiからn回ループ。>
(6)全ての3面の組合せ毎に交点を計算
(7)結晶外の交点の除去
求めた交点と原点を結ぶ線を面の垂直方向に投影した長さが、各3面の法線の長さより大きい
場合は、結晶外交点として除去する。
(8)同一頂点は除去して、頂点一覧表を作成する。
(頂点番号−>頂点座標(X,Y,Z),頂点番号−>頂点を作る3面の面番号表)
(9)頂点一覧表から線データ一覧表を作成
(線番号−>頂点番号1,頂点番号2)
(10)頂点座標(X,Y,Z)のXYZ軸回転
(11)作図(全ての線を描画)
(注1)貫入双晶の描画・印刷には、色々と制限があります。
また、面角計算も出来ません。
(注2)<いつもの文言ですが・・>
本ソフトのバグ等によるファイル破壊については、免責させて頂きます。
その他、本ソフトに起因する事故等についても、免責させて頂きます
1.桜井敏雄:コンピュータによる結晶外形の作図,信州大学教育学部紀要
1988年 8月、p.109.
2.H.Iwasaki, and F.Iwasaki;
Forma, 8(1993)315.
3.H.Iwasaki and F.Iwasaki; J. Cryst.
Growth, 151(1995)348.
4.H.Iwasaki, F.Iwasaki, V.S.Balitsky,
L.V.Balitskaya and I.B.Makhina;
J. Cryst. Growth, 187(1998)481.
5.岩崎秀夫、岩崎文子:地学研究,47(1998)13;
(訂正) 47(1998)104.
6.Rod Stephens著 松葉素子訳:VisualBasic
画像処理プログラミング(3D編),SOFTBANK(1999).
7.峯村吉泰編著:BASICによるコンピュータグラフィックス,森北出版,
(1990).
8.堀秀道:楽しい鉱物学,草思社,(1990).
9.E.S.Dana,W.E.Ford;A
TEXTBOOK OF
MINERALOGY,CHARLES
E TUTTLE COMPANY
(1959).
10.E.S.Dana;The
System of Mineralogy 6th ed.(1915).
11.高田雅介:水晶玉と水晶の結晶 「ペグマタイト」94-6,p.2.
12.金沢康夫:鉱物の結晶図の作図,地質ニュース 248(1978),P.127-131.
13.中牟田義博:パソコンの為の結晶記載ユーティリティプログラム,鉱物学雑誌
第20巻,第1・2号 71-74,1991年1・4月.
14.黒川清,中牟田義博,青木義和:対称性を考慮した結晶形態図の描画,
九大理研報(地質)16巻2号 87-97,1990年1月.
15.Kanazawa,K.and Endo,Y.(1981):Drawing of Crystal and Twin Figures.
Miner.Jour.,10,279-295.
「桜井プログラム」の原作者(N88 BASIC版)である、故桜井敏雄先生に心から敬意を表します。
また、「桜井プログラム」を紹介して下さった、故岩崎秀夫先生にも心から敬意を表します。
32晶族の考え方と頂点計算アルゴリズムの改善方式は、九州大学の中牟田先生のご好意
で使用させて頂きました。ここに深く感謝致します。また、このプログラムを御紹介して頂いた、
京都の高田雅介様にも深謝いたします。
さらに、高田雅介氏には、「ペグマタイト」誌をデータソースとした結晶データの添付の許可も
頂きました。重ねて氏の御好意に感謝致します。
野呂
CopyRight(C)2000-2021 T.Noro