演題 2次元空間群による対称模様の実現
発表者
(所属)
○野口文雄、 浦野靖久、 三浦 弘 (埼玉大学工学部)
連絡先 〒338 埼玉県浦和市下大久保255
TEL/FAX 048-858-3536
キーワード 空間群、対称、結晶
開発意図
適用分野
期待効果
特徴など
結晶学の入門者にとって、対称の理解はかかせないので、8ビットRGBパ レットを用いたビットマップファイルの画像を読み込み、 2次元空間群 の対称操作で、様々な対称模様を出力するプログラムを開発した。本ソ フトウェアは模様のデザインにも利用できると思われる。
環境 適応機種名 DOS/V、NEC PC-98シリーズ   
OS 名 MS-Windows95   
ソース言語 Borland C++ Ver. 4.5   
周辺機器   
流通形態
右のいずれ
かに○をつけ
てください)
  • ○化学ソフトウェア学会の
    無償利用ソフトとする
  • 独自に配布する
  • ソフトハウス、出版社等から市販
  • ソフトの頒布は行わない
  • その他
  • 未定
具体的方法

1 はじめに

 周期模様には並進の対称があるため、回転の対称が制限を受け、許される回転軸は1、 2、3、4、6回軸の5種類に限定される。このため、模様の配列の様式は全部で17通りし かないことが、群論により証明されており、2次元空間群として知られている。このこ とは、いかなる2次元の周期模様も必ず17の空間群のいずれかに属することになる。結 晶内の原子配列も、230通りの3次元空間群のどれかに属しており、結晶系分類の基礎は、 原子配列の対称に基づいている。従って、結晶学入門の第一歩は、対称の理解にある。 そこで、任意の小画像からどのような対称模様が出現しうるかを調べる教育用ソフトウ ェアを開発した。

2 プログラミングのあらまし

2.1 ソース言語

 Windows95上で走るアプリケーション開発における複雑なプログラミングに際し、豊 富なクラスライブラリを搭載し、かつコンパイル速度および実行速度が速いBorland社 のC++ Ver.4.5を用いた。

2.2 ビットマップの作成

 模様を生成する元絵の小画像を、空間群の対称操作の演算子に従って回転・鏡映・並 進させ、所定の位置に下絵を壊さずに描画するためには、元絵の矩形に外接する円を内 接円とする大きさの矩形サイズで、しかも背景色を透明色としたビットマップが必要と なる。透明色は存在しないので、背景色が白と黒の2枚の元絵ビットマップを作成させ、 下絵とのピクセル毎のビット論理演算によって見かけの透明色を実現させた。

2.3 描画関数の作成

 ウィンドウのサイズ変更メッセージに応答する関数が呼ぶ描画関数内で、実数座標系 とクライアント座標系の対応を付けたのち、各空間群が必要とする読み込み画像の回転 像と鏡映像をメモリデバイスコンテキストに書き込んだ。この場合、単純に回転像の各 ピクセル位置を実数の回転行列を用いて計算すると、実数の整数への丸め誤差が影響し て隙間のある回転像になる。しかし、先読みした正しい回転位置の実数座標から逆回転 行列で計算される元絵のピクセル位置のクライアント座標を求めて、適切なピクセルを 回転変換して正しい回転像を生成することができた。この回転像をメモリデバイスコン テキストの左上隅に転送し、前述のビットマップの配列に読み込ませたのち、空間群の 対称操作演算子を利用した実数計算により、各ビットマップを所定の位置に出力・復元 することで、対称模様を描画させた。

3 ソフトウェアの操作法と出力例

3.1 画像ファイルの読み込み

 メニューバーのファイルオープンをマウスクリックすると、標準のファイルオープン ダイアログウィンドウが開かれる。このウィンドウから、元絵とする拡張子.bmpの画像 ファイルを選択指定できる。24ビットRGBフルカラー等の読み込めない画像を選択した 場合は、エラーメッセージが現れ、コンピュータをハングアップさせることなく、他の 読み込み可能なファイルを選択して、操作が継続できるようになっている。

3.2 空間群の選択と描画

パラメータ入力ダイアログウインドウから、空間群番号、格子定数、出力位置座標を 入力し、マウス左ボタンクリックで対称模様が描画される。同一の元絵と同一の空間群 を用いても、出力位置座標を変化させると異なる対称模様に変化し、一般同価点座標と 特殊同価点座標の違いを体験できる。出力例を図1$2に示しておく。


図1 2次元空間群p4による元絵(図3)の対称模様


図2 空間群p6mが示す対称模様


図3 元絵

4 おわりに

 今後は、複数の元絵や24ビットRGBのフルカラー画像も扱えるソフトウェアにバージ ョンアップして、本格的な模様デザインツールに発展させたい。