場所取り そのうち引っ越すかも http://maglog.jp/gltest/
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 やっと修士論文が終わった・・・ リアル生活があまりにも危うく、なんだかんだ言って実に4ヶ月もの間、更新なしであった。開発はちょくちょくしていたのだが、blogを更新する余裕は全くなかった。 今回は大きな変更はなく、細部の詰めが主である。
変更点はこれだけではないが、追い追い更新しながら紹介していこうと思う。 PR 自然に見えるアステロイドを自動生成する方法を考えてみた。 最も簡単な実装は、経緯線で区切った球体メッシュの頂点をランダムにオフセットするというものだが、このランダムに一様乱数を使うと近隣の頂点との相関がないためにギザギザなアステロイドになってしまう。この方法は土星の環の粒子の描画などで用いていた。 画像のようなある程度の滑らかさを持つアステロイドを生成するために、二次元の Perlin Noise を試してみた。
いまどき Applet なんてやってる人少ないみたいだけど、個人的にかなり苦労した点についてメモしておく。
Applet クラスは getImage とか getAudioClip というメソッドを持っていて、 Applet が置かれているのと同じサーバにあるリソースファイルをロードできるようになっている。ファイルの保存や、他のサイトのファイルへのアクセスは、セキュリティ上の理由からできない。 Java のコンパイル済みオブジェクトはクラス単位のファイルに分かれるため、プログラムの規模が大きくなるとクラスファイルの数が膨大になるという特徴がある。これを一つにまとめる方法が Jar ファイルで、複数のファイルをまとめて圧縮しつつ、解凍なしで実行できるというものだ。 となると、プログラム内で使っている画像や音声などのリソースも、 Jar ファイルにまとめたいと思うのが自然な流れだ。特に Web 上で公開する Applet だと、一つひとつのリソースファイルの為に一々 http コネクションを開くのは無駄なトラフィックを増やすからして、全ての関連ファイルを一つにすることでロード時間の短縮が見込まれる。 だが、そうすると Applet から getImage などのメソッドを使ったアクセスが普通にはできなくなる。具体的には getImage(getCodeBase(), fname); のような呼び出しが上手くいかない。ローカルで file:// のアクセスなら上手くいくのに、 http だとダメだという理不尽な動作をする。 これを解決するには、次のようにする。 try{ なんだかよくわからないが、 jar プロトコルみたいなものの中に http URL を記述しなければならないようだ。 この例で url という文字列の中身はこんなふうになる。 jar:http://gltest.bufsiz.jp/Kashiwamochi063/Kashiwamochi.jar!/images/a.gif 以下にこの方法でひとつの Jar ファイルにまとめた Applet のサンプルを示す。
<<前のページ
|
カレンダー
フリーエリア
最新コメント
最新記事
(10/03)
(09/16)
(07/12)
(06/11)
(06/01)
最新トラックバック
ブログ内検索
最古記事
(09/09)
(09/17)
(09/27)
(10/11)
(02/20)
アクセス解析
|