CG: 2005年10月アーカイブ

迷路その2

| | コメント(6)

2d_labyrinth_3d_02.jpg

2d_labyrinth_3d_02.zip

 迷路を改良しました、スムーズに移動します。ファミコンからPSってところでしょうか。迷路ファイルが新しい形式になったので、迷路生成プログラムも新しいのにしてください。

auto_labyrinth02_outtext02.zip


↑:向いている方向に進む
↓:バックする
→:右を向く
←:左を向く

PageUp:上を向く
PageDown:下を向く

Fキー:フォグ効果のON/OFF
F1キー:ウィンドウモード/フルスクリーンモードの切り替え

3Dの2次元迷路

|

2d_labyrinth_3d_01.jpg

NeHeのプログラムを少し改良して作りました。迷路ファイル"2dlabyrinth.txt"を読み込んで、3Dで迷路を作り、その中を歩き回れるプログラムです。歩き回るといっても、通路の中心しか歩けなくて、しかも移動のモーションがありません。移動はファミコンのゲームみたいになってます。それから、ゴールしてもなにも起こりません。見ての通り、かなり基本的な機能しかないので、迷路としてはかなりやりづらいです。しかし、ちゃんとアップグレードしていくんで、待っててください。

2d_labyrinth_3d_01.zip

迷路ファイルを作るプログラムはこっちです。

auto_labyrinth02_outtext.zip

何度も言いますが、迷路生成アルゴリズムは改良予定です。

auto_labyrinth02_outtext.gif

auto_labyrinth02_outtext.zip

 CAVEでなんか作ろうってことで、迷路とかなら簡単そうだなー と思ったから作り始めた迷路。とりあえず、昔作った迷路自動生成プログラムを少し改良して、"ファイル->名前をつけて保存"で画像を保存する代わりに、迷路を0と1の文字に変えたテキストファイルを出力するように改良。

25, 17
1111111111111111111111111
1111111111111111111111111
1111111111111111111111111
0000100010000000000000111
1110111011111111111110111
1110001000000000000010111
1110111011111111101110111
1110000010000000101000111
1111111110101111101110111
1110000000101000000000111
1110111111101011101110111
1110101000001010101010111
1110101111101110111010111
1110000000100000000000000
1111111111111111111111111
1111111111111111111111111
1111111111111111111111111

出力ファイルはこんなんなります。もちろん1が壁で、0が通路。

 迷路のアルゴリズムが見ての通り壁を成長させていくものなので、一番外側の通路が長すぎるなど迷路としてはいくつか欠点も。これは後で変更予定(壁倒し法がいいんですかね?)最終的には不思議のダンジョンみたくしたいんだけど(部屋あったり)、アルゴリズム知らん・・・。

バグの報告お願いしますです。


ちなみに、昔作った方はこっちです。迷路を自動生成して、"ファイル->名前をつけて保存"でビットマップファイルとして迷路を保存します。(昔はこれでクリアに何時間もかかりそうなでかい迷路作ったなぁ)
auto_labyrinth01_outbmp.zip

4次元の点を描画

|

4d01.gif

 4次元の点の位置データファイルを読み込んで、それを回転し描画するプログラムです。4次元で奥にあるものほど黒く、そして線が下に伸びるようにして、手前のものほど白く、線は上に伸びるようにしました。回転は4次元(視点の回転)でも行なっていますが、3次元への投影は正射影なので単に4次元目の要素(以下w軸とする)を無視してるだけです。

例えばここに四次元の点[3, 4, 5, 6]があったとするとw軸の要素6を無視して、3次元の点[3, 4, 5]として処理してることになります。これだと、4次元の意味がないような感じがしますが、それ以前にwを含む面(wx平面、wy平面, wz平面)での回転を行なっているので4次元の影響は出ます。

具体的にはwx平面でθ回転した場合、回転の行列変換は
[x', y', z', w'] = [x, y, z, w] *
_              _
|  cosθ  0  0 sinθ |
|   0   1   0  0   |
|   0   0   1  0   |
|_-sinθ  0  0  cosθ_|

となるので回転後のx座標x'は
  x' = x*cosθ - w*sinθ
となって移動します。これはxz平面での回転(y軸回転)の
  x' = x*cosθ - z*sinθ
とほぼ同じ、wかzかの違いだけです。

加えて今回は、面にテクスチャを張ってるわけでもなく、ドット単位の点や線で表示しているので、3次元の奥行き感がまったく出ません。なので、3次元で回転しても、4次元で回転しても、このプログラムではまったく同じように見えてしまうわけです。

しかしCAVEの場合は3次元の奥行き感を立体視で感じることができるので、少しはわかりやすくなると期待しているのですが・・・・・。どのみち大きさの変らない点や線はやめようとは考えてます。

univ-uni-an4.jpg

以前書いた、大学生協オーダーパソコンです。

CPU: Athlon64 X2 4400+ 2.2GHz キャッシュ1MB Soket939
メモリ: 4GB (1GBx4) PC3200 DDR400 Dual-Channel
HDD: 300GB 7200RPM 16MBキャッシュ
光学ドライブ: DVD±R/RW 2層対応スーパーマルチドライブ DVD+DL/R/RWx6x16x8 DVD-R/RWx16x6 RAMx5 ROMx16
ビデオコントローラ: NVIDIA GeForce PCX 7800GTX 256MB DVIx2

すばらしい!
もう数学科に足を向けて寝れません。

あとXP Proがついて30万ぐらいです。CPUについては4600+,4800+もありえます。

新しいマシン

| | コメント(8)

 研究室PCのビデオカードを新しくしようと教授に頼んだら、すんなりOK。
んで結局、新しいマシンを買うことになりました。やった〜
予算は30万前後。この研究室最高です、教授ありがとー。

 んで現在、構成を考え中。いい案があればコメントください。予算内でCGに強いマシン、が目標です。

ビデオカード

|

 研究室のマシンのビデオカードを新調予定。もちろん研究のためですよ、もちろん。

1.今までのマシン(AGP)で一番良いビデオカードを買う。
2.新しいマシンを買う。
3. 研究室の他の人のマシン(PCI Express)と僕のマシンを交換して、PCI Expressで高いビデオカードを買う。

予算は多くはなさそうですが、7800 GTXは買えそうなぐらいです。新マシンも安ければ・・・。
とりあえず、値段とスペックをまとめてくれということです。

自分がとても恵まれた環境にいることを自覚します。

 http://www.itmedia.co.jp/news/articles/0510/05/news030.html

 反応が遅かったことに反省しつつ、とても驚き。これからどうなっていくのでしょう?

このアーカイブについて

このページには、2005年10月以降に書かれたブログ記事のうちCGカテゴリに属しているものが含まれています。

前のアーカイブはCG: 2005年8月です。

次のアーカイブはCG: 2005年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01a