2013年09月30日

30 60 90 プリズムのサンプルデータ

ここ最近、出張だのなんだのとバタバタしていたため、更新が滞ってしまいました…すみません。しかしその間、次は何をしようかと模索は続けており、未完成のエントリ−もいくつか作ってあります。どれもイマイチの出来なので、今のままでは公開する気にはなれずお蔵入りしている次第です。
とはいえ、これまでもそんな大した記事は書いていない…ですけど。

さて、これまではシーケンシャルのみを扱っていましたが、「ノンシーケンシャル(いわゆる照明系)の習得もしたい!」と考えてもいるので、こちらにも手を出していくことにします。

ZEMAXのノンシーケンシャルの学習についての、良い資料があればそれを使いたいのですが、残念ながら持ち合わせていない(良い文献等があれば誰か教えて下さい!)ので、地道にZEMAXに付属しているサンプルデータを読み解きながら、使い方を学んで行こうと思います。

30 60 90 プリズム

今回は、サンプルデータ・ノンシーケンシャル・プリズムのフォルダの一番上に表示されていた「30 60 90 prism」をテーマとしてピックアップしました。サンプルデータは、ZEMAXの大好きな?マイドキュメントの下に入っています。

20130930125003.png
*.ses *.zmx でも同じファイルが開く模様

20130927164537_2.png
サンプルデータを開いて表示されるウィンドウ各種

おなじみLDEに目を向けると、STO面の次のサーフェスタイプが「Non-sequential」となっています。この部分がノンシーケンシャルの要素を含んでいるようです。
ZEMAXのモードの選択は「シーケンシャル」と「ノンシーケンシャル」ではなくて、下図のような表記になっています。
20130930125211_.png
「シーケンシャルかミックス」のモード

ノンシーケンシャルの要素の記述は「Non-sequential Component Editor」(以下:NSCエディタ)で行います。このサンプルデータのこれ以外は、BK7の凸レンズが1枚あるだけです。
早速、プリズム部分がどのように記述されているのか見て行きましょう。


Non-sequential Component Editor

NSCEが、シーケンシャルでの「Lens Date Editor」(LDE)のように、ノンシーケンシャルの記述の肝になる部分だと思われますが、ここの記述は1行のみ。

20130927164922.png
シンプルなNSCエディタ

20130927165044.png
「Poly Object」を指定し、中身は別ファイル「30_60_90.POB」を参照

このNSCエディタでは別途形状が定義されたファイルを読み込んでいるだけのようです。プリズム形状を構成しているのはここで指定されている「POBファイル」。さっそくコレをエクスプローラーで探して、開いてみましょう。

20130927165514.png
POBファイルは、ZEMAXお馴染みマイドキュメント下に

マイドキュメントの下、「ZEMAX / Objects / Polygon Objects」の中にありました。
今回の対象POBファイルをメモ帳で開いてみると

20130927165600.png
独特のルールに基づいて記述されている

さすがに、これは解読不能です。マニュアル片手に解読に挑みました。

ポリゴンオブジェクトの記述ルール

 !:コメントの記述用
 V:頂点(Vertex) No、XYZ座標値
 R:四角形(Rectangle) 頂点のNo、面の属性
 T:三角形(Triangle) 頂点のNo、面の属性
 面属性(−1:吸収、1:反射、0:屈折)


これらの情報を元にファイル「30_60_90_prism」を順に解読していくと、
プリズムの頂点10個の座標値を入力し、それらの頂点で構成される各面を順番に規定しているようです。

20130927170744_2.png
このプリズムはこのような10の頂点で構成されていることが判明

両サイドの五角形の面は三角形と四角形を組み合わせて記述されています。マニュアルによると、多角形の頂点の上限数はコンピュータのメモリに依存するようです。このように3,4角形を合わせて表現するようです。

20130930130810.png
赤線の三角形と緑の四角形の組み合わせで五角形を表現

各面の属性をみると反射面はTOP面だけに設定されていることになります。
ここで光線図(レイアウト)をもう一度確認してみましょう。

20130927170744.png
屈折面属性の底面でも1回反射あり

天面は2回とも反射していますが、底面は1回反射の1回透過(屈折)です。屈折面属性では、臨界角の判定が行われて、適宜全反射が生じるよう計算されているのでしょうか?

今回学んだ「POBファイルの記述ルール」を実際にトライしてみるついでに、この辺りの屈折面の挙動について確認すべく、練習として簡単なデータを作成してみます。


プリズムといえば、コレ

小学高(中学?)の理科の教科書にも載っている「虹色を作る」プリズムを演習として入力してみましょう。

Light_dispersion_conceptual.gif
これです(ウィキペディアよりパブリックドメイン画像)

まず、POBファイルを作成してみます。各頂点の座標値の算出がなかなかめんどくさいのですが、CADで作図して頂点の座標を読み取るのが良いと思います。

20130930134819.png
頂点の数は6個、面は5面

このPOBファイルの作成が、「今回の演習のポイントになるかな」と思っていましたが、POBを読み込んで、LDEに構成を入力してみると、思ったように光線が上手く表示されません。
これは「port」が正しく設定出来ていなかったためで、「シーケンシャル」と「ノンシーケンシャル」への光線の受け渡しをする際に、「entrance port と exit port」をしっかり規定してやる必要があるということがマニュアルよりわかりました。

ノンシーケンシャル光線追跡 →(入り口:entrance port)→ノンシーケンシャル→(出口:exit port)→ノンシーケンシャルに戻る

といったフローで処理しているようです。まだこの辺りはなんとなくしか理解できていませんが、今は先に進めます。

20130930153705.png
なんとか、イメージ通りの入力が完成

波長は、定番の3波長「F、d、C」を使用しています。

20130930145739.png
適当に表示してみたスポットダイアグラム

分散による色のズレが、この図より確認できます。もっと虹色みたいな表示ができるとインパクトがあるのでしょうが、どうやればよいか分からず今はコレが精一杯です。

また、「屈折属性の面では、臨界角の判定をしているのか?」と気になった点については、このLDEのノンシーケンシャルオブジェクトの前にコーディネートブレークをはさみ、適当に角度を振ってみた結果、全反射に切り替わることが判りました。

20130930153801.png
屈折の限界付近

20130930153746.png
臨界角を超えて、全反射に


本日の成果まとめ

サンプルデータ「30 60 90 prism」を参考に、簡単なプリズムを用いた光学系を作成してみた結果、以下のことを学びました。

・POBファイルを用いたポリゴン(多角形)オブジェクトの作成方法
・シーケンシャル⇔ノンシーケンシャル のデータの受け渡しには適切な「port」の設定が必要
・屈折面属性では全反射が起こりうる

posted by ひよこデザイナ at 22:21 | Comment(0) | TrackBack(0) | ノンシーケンシャル:サンプルデータ演習 | このブログの読者になる | 更新情報をチェックする
2013年10月01日

プリズムのいろいろなサンプルデータ

プリズムフォルダ下のサンプルデータ

引き続き、ノンシーケンシャルフォルダ・プリズムに入っているサンプルデータを見ていき、目新しそうな所に着目しながら操作方法を学んでいきます。

Leman Roof

このネーミングはプリズムの固有名でしょうか。人の名前っぽいです。
このデータでは、光線に矢印がついているのが目に付きました。

20131001095815.png
サンプルデータ「Leman Roof」

20131001095904.png
3Dレイアウトのウィンドウ

20131001095851.png
矢印の表示は、セッティングで「Fletch Rays」にチェック


Abbe Reversion

続いて、お馴染み「アッベ」が考えたプリズム?

20131001100150.png
Abbe Reversion:像が反転するから「Reversion」なのでしょう

結像シミュレーションの「Geometric Image Analysis」が目に付きました。入力を指定して出力を得ているので、光学系を通してどのような像が得られるか、のシミュレーションのようです。

20131001100221.png
ここで入力ファイルを選択

20131001100233.png
「ALPHABET.IMA」の出力

入力に使われる「IMAファイル」は、例のごとくマイドキュメントの下にあります。

20131001100603.png
この手のソースファイルは、全て?マイドキュメントの下なのかもしれません

20131001150737.png
シミュレーションのコマンドはココ
Anlysis / Image Simulation / Geometric Image Analysis

Bauernfeind Prism

コレも人の名前っぽいですね。NSCエディタで、ミラーを作成している点が目に付きました。

20131001100830.png
「Bauernfeind Prism」

20131001100849.png
ファイルを読み込むだけではなく、ミラーをココに記述

20131001100902.png
赤いのがそのミラー

Double Dove Prism

これも人の名前?このファイルではシェードモデルの背景が黒くなっていたので、表示セッティング周辺を確認しました。

20131001101146.png
背景ブラック

20131001101152.png
背景の選択

20131001101219.png
グラディエーションも数種類用意されています

20131001102846.png
Opacity:透過性の設定、Ignore:不透明、Consider:半透明に

20131001102852.png
Ignore:不透明(ソリッドカラー)


以上で、プリズムフォルダ内のデータにはひと通り目を通しました。自分でデータを作成して入力する際には、躓くところもでてくると思いますが、プリズムのサンプルデータを見ていくのはここまでにしておきます。

posted by ひよこデザイナ at 21:39 | Comment(0) | TrackBack(0) | ノンシーケンシャル:サンプルデータ演習 | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。