マッハ・バンド
マッハバンド(図1)を描くVisual C++プログラム例を作成した。
図1 マッハ・バンド
パターンは波打っているように見えるが、次のコード
==========================================
for (int i = 0; i < 10; i++){
Brush
^bsh = gcnew SolidBrush( Color::FromArgb(0, 250
- 20*i, 0) );
g->FillRectangle(bsh,
(w/10.0)*i, 0, w/10.0 + 1.0, h);
}
==========================================
に示されるように、均一な色調の縦長の長方形が並んでいるだけである。
描画をディスプレイ画面一杯に行うため、フォームのプロパティFormBorderStyleをNoneに設定し、プログラムの実行開始時に
WindowState = System::Windows::Forms::FormWindowState::Maximized;
として、フォームの最大化を行っている。
実行形式のプログラムも用意した。MachBandGreen.exe(図1左のパターンを描くもの)とMacBand.exe(図1の右のパターンをえがくもの)、それぞれのプログラム名をクリックするとダウンロード・実行できる。これらのプログラムは、.NET Framework3.5対応である。プログラムを実行すると画面全体に描画される。プログラムは、キーボードのキーを押すか、画面上をクリックすると実行終了となる。
プログラムのソース・ファイルは圧縮ファイルMacBandGreen.zipおよびMachBand.zipにまとめた。それぞれのファイル名をクリックしてダウンロードした後、マウスの右ボタンクリックで表示されるメニュから「解凍」あるいは「展開」などを選ぶと解凍される。解凍されて作成されたフォルダ内のソリューションファイル、MacBandGreen.slnあるいはMacBand.sln、をVisual Studioなどから開くとプログラムを見ることができる。