Javaアプレット(22) 行列とは

2進行列のクラスを作るにあたって、ちょっとJavaのプログラミングの話から逸(そ)れますが、行列について説明しておきます。

まずベクトル(vector)とは何か。プログラミングの例で一番分かりやすいのは画面上の座標。横軸がx、 縦軸がy。数学ではyはプラスの方向が上ですが、画面上の座標は左上が原点で、yのプラスの方向は下になっています。解像度640ドットx480ドット(VGAと呼ばれます)のディスプレイではxが0~639、yが0~479で画面の座標を表せます。1次元の数字(スカラといいます)に対し2次元以上の数字のセットをベクトルと呼び、(x, y)、(639, 479)と書き表します。3次元ベクトルは(x, y, z)のようになります。3D (three-dimensional)とはこの3次元のことです。

では行列に移ります。ベクトルが数字の列(あるいは行)であるのに対し、行列はその名の通り数字の行と列、英語で言うとマトリックス(matrix)です。行列は、
(1 2↓3 4)、(a b↓c d)
のように表し、ベクトルのようにコンマ「,」は使いません。ベクトルに比べると行列は一見何のために使うのか分かりにくいですが、例えば連立方程式を解くのに使われたりします。

連立方程式は次のような問題を解くのに使われます。
「ツルとカメがあわせて8匹、足の数があわせて26本であるとき、ツルとカメは何匹か。」
つるかめ算と呼ばれる問題です。ここではすべてをツルと仮定するというやり方でなく、ツルがx匹、カメがy匹いたとして、連立方程式を立てます。
x + y = 8
2x + 4y = 26
この2つの式を1つにまとめた式が
(1 1↓2 4)(x↓y)=(8↓26)
です。行列と列ベクトルの積として2つの式をまとめています。

以上が行列の説明です。では、2進行列とは何でしょうか?

(つづく)

フリーソフト紹介:Planetarium

プラネタリウムです。このソフトもChrome Web Storeの教育のカテゴリで見つけたものです。このソフトはウェブ上で動くサーバソフトのようなので、URLを入れたらInternet Explorerでも動作しました。
Planetarium

星にマウスカーソルを当てると説明が出てきます。説明は英語なのですが、次のような意味になります。

Rigel
Constellation: Orion
Magnitude: +0.12
Distance: 772.5 LY
RA: 5h 14m 32.2s
Dec: -8°12' 16"

リゲル(星の名称)
星座: オリオン座
等級: 0.12等星
距離: 772.5光年
赤経: 5h 14m 32.2s(赤経 right ascension)
赤緯: -8 °12' 16"(赤緯 declination)

フリーソフト紹介:Screen ruler

最近Googleのブラウザ"Google Chrome"(バージョン16.0.912.77)の初期画面に「よくアクセスするページ」の他に「アプリケーション」というページが追加されています。ここにはゲームなどさまざまなアプリケーションを登録できるのですが、なにも登録する前には「Chrome Web Store」というアプリケーションがひとつだけ登録されています。

この「Chrome Web Store」には実にさまざまなカテゴリのアプリケーションが登録されていて、ほとんどがフリーソフトなのですが、今回はこの中の「拡張機能」「デベロッパーツール」にある、「ruul. Screen ruler」を紹介します。

このアプリケーションはChromeのアドインとして動作します。インストールすると検索バーの右側にアイコンが表示されるので、これをクリックしポップアップの中から定規(ruler)を選びます。すると、ブラウザ画面に定規が現れます。
Ruul600

ブログやホームページのデザインをするのに、画面のある部分の長さを測ってみたいということがしばしば起こります。[Ctrl]+[Prt Sc]キーで画面のスナップショットを撮ってペイントなどのソフトに貼り付けてドット数を調べたりしていましたが、このScreen rulerがあれば画面上に定規を置いて簡単に測れます。

Google Chromeを使うウェブデザイナーにはお奨めのソフトです。もしかしたら、もっと便利なツールをお持ちかもしれませんが...。

Javaアプレット(21) クラスの作成

新規にクラスを作ってみます。前回のプロジェクトの作成と同様、「パッケージ・エクスプローラー」のビューの中で、マウスの右ボタンを押し、「新規」を選ぶか、「ファイル」メニューの「新規」を選び、サブメニューから「クラス」を選ぶと、次のような画面が表示されます。
図:新規Javaクラス
【図29 新規Javaクラス】

この画面では、「パッケージ」名と(クラスの)「名前」を入力します。今回もパッケージ名は"nonkit"としておきます。クラスとしてまず2進(binary)の行列(matrix)を作りたいのでクラス名は"BMatrix"とします。そして[完了]ボタンを押します。

新しい画面が作成されて、以下のようになります。
図:新しいクラス
【図30 新しいクラス】

中央のエディタビューにクラスBMatrixのソースプログラムのひな形ができています。ここにプログラムを書き足していきます。

(つづく)

Javaアプレット(20) Javaプロジェクトの作成

Eclipseのメニューから「新規」「Javaプロジェクト」を選ぶと、「新規Javaプロジェクト」のウィンドウが開きます。図:Javaプロジェクトの作成
【図25 Javaプロジェクトの作成】

この画面ではプロジェクト名を入力します。今回グラフ理論を応用した囲碁プログラムを作る予定なので、プロジェクト名は「GraphGo」としておきます。入力すると[次へ]ボタンが押せるようになります。JRE (Java Runtime Environment: Javaの実行環境)はjre6を使用します。[次へ]ボタンを押します。

すると、「Java設定」のウィンドウが開きます。ここでは何もせず[完了]ボタンを押します。
図:Java設定
【図26 Java設定】

これで今回使用するJavaプロジェクトを作ることができました。
図:作成したJavaプロジェクト
【図27 作成したJavaプロジェクト】

プロジェクトのフォルダーの左に小さな三角がありますが、これをクリックすると下図のようになります。
図:プロジェクトのツリーを展開
【図28 プロジェクトのツリーを展開】

この「src」(ソースプログラムを意味します)フォルダにいよいよ新しいプログラムを作っていきましょう。

(つづく)

しろくま

自作イラストを公開します。
しろくまのお母さんをイメージしています。
北極の氷がこれ以上解けませんように。
しろくま


Javaアプレット(19) 改めてEclipseの起動から

囲碁のプログラムを1から作り直すにあたり、改めて開発環境である、Eclipseの起動のところから、何をするのかまとめてみようと思います。

Eclipseは当面3.7.0を使用します。インストール方法は省略します。

Eclipseを起動すると、「発行元を確認できません」という画面がでます。これは電子証明書がうまく働いていないからだと思いますが、気にせず[実行]を押します。
図:発行元の警告
【図21 発行元の警告】

すると、オープニング画面が表示されます。ここでしばらく待たされます。
図:Eclipseオープニング画面
【図22 Eclipseオープニング画面】

そして最初のワークベンチ画面が表示されます。
図:ワークベンチ画面
【図23 ワークベンチ画面】

今回はソースを1から作り直すので、新しいJavaプロジェクトを作ります。「パッケージ・エクスプローラー」と書かれたビューのところで右ボタンを押し、[新規]を選ぶと以下のようなメニューが表示されます。
図:[新規]サブメニュー
【図24 [新規]サブメニュー】

このサブメニューの「Javaプロジェクト」を選択します。

(つづく)


«えこよみカレンダー2012 ひと月使ってみて

フォト

つぶやき

無料ブログはココログ

ウェブ検索

  • 毎日の検索で環境貢献
    このパーツから
    Powered by

最近のトラックバック