マッハ・バンド

 

マッハバンド(図1)を描くVisual C++プログラム例を作成した。

無題.jpg無題.jpg

図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);

 }

==========================================

に示されるように、均一な色調の縦長の長方形が並んでいるだけである。

 描画をディスプレイ画面一杯に行うため、フォームのプロパティFormBorderStyleNoneに設定し、プログラムの実行開始時に

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などから開くとプログラムを見ることができる。