アトム-サイト
[ アトム-サイト ] - 管理人さんのページです。
feed-icon RSS2.0   feed-icon Atom
[ javascript ] 一覧へ
3D空間
管理人さんのブログ 2008-03-27 09:41:41

カッコいい画像検索みたいのを作りたくて、javascriptを使ってやってみた。
http://imgsearch.selfip.com/test/3dimg.php <- ココで動きます(度々更新してます)。

↓キャプチャした画面はこんな感じ。
javascript 3D空間 (.jpeg)
やっぱり重いです。
32枚くらいの画像を動かすので精一杯な感じ。
3D空間に画像が浮かんでて「クリック」するとそのページへ飛べる検索みたいなイメージだったのだが、とにかく重過ぎ…。
javascript 3D空間 (.jpeg)
困ったなぁ~。コレくらいでこの重さではなぁ~。
違う見せ方でないとダメなのかなぁ~。
通信レースゲームみたいなやり方(点を滑らかに結ぶ)でやってみるかな…。
…と、調べてみると、空間計算に時間取られてるのではなく、描画時間がネックだった。数多いだけで重くなる。これは対処しようがないなぁ。

~~~~

どうやら、半透明処理が重い様子。
・最初から半透明を使わなければ4倍くらい早い(感覚的に…)。
・100%をセットしても重くなる(IE)。これで2倍くらいに落ちる。
・最初だけにしても、毎回セットする様にしても、同じ。
・値は100%でも何でも同じだが、個々で別々の値だと激重になる。
どうしようか考えたが、それぞれの画像に半透明値を与えない事にはどうにもならないので、やり様がないかなという感じ。
空間の表現は半透明が最適だし『範囲を狭める』という対策しかないかな。
新しくしました。
http://imgsearch.selfip.com/test/3dimg.php <- ココで動きますよ。

~~~~

ジンバルロック発生!
真上&真下を向くとカメラベクトルが急激に変化する。
オイラー角制御だからなぁ~。
回避するにはクォータニオンか…。
ゲームライブラリとかDirectXとかOpenGLなら、あらかじめ関数用意されてるけど、javascriptなので自分で理解して組むしかない…。
段々辛くなってきた…。

ココ↓を参考にしたら呆気なく出来た!
http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040321
これで『アポロ13号』も苦しんだジンバルロックから解放。
さて、次、移動処理(クォータニオンだと移動に癖があるんだっけ?)。

移動も完成。
マウスホィールで前後動きます。
手間取った…。
よくよく考えてみれば、変換行列は求まってるんだからスクリーンの奥の位置をその逆行列と掛け合わせて実際の座標を求めるだけ(クォータニオンをどうにかして座標に変換しようとしていた)。

それにしても、この得体の知れないクォータニオンという数、誰が考えたのかなぁ?と調べてみたら『ハミルトン』という人だった。
こんなの思い付くなんて凄い。調べるとやっぱり神童として知られて図抜けた才能の持ち主だったらしい。
でも、晩年にはアルコール中毒に溺れて、死んだ時の部屋には『酒と肉汁にまみれた二百数十冊のノートで埋め尽くされていた』とか…。
何もかもが凄い数学者だな。
『ジンバルロック』でふと思い出した。中学生の頃PC-6001で円を描画した時にXからYを求めて円を書いたが、実は「角度からXYを求めた方がいいんだなぁ~」と思った同じ感覚だな。

ZERO3でも動くのかやってみた。
javascript 3D空間 (.bmp)
マウスのホィールが無いので移動は出来ないけど、動くぞ!
激重だけど…。

~~~~

↓実際にこの3Dを使って公開しているサイトはコチラです。
http://imgsearch.selfip.com
使ってみてくださいね。


※ 『javascript』に繋がる関連物を 視覚的に探しだせるサイトを作ってみました(よろしければクリックしてみてくださいね)。

 コメント記入者:

 リンク元:
(2) : http://cgi.search.biglobe.ne.jp/cgi-bin/search_bl_top?start=20&ie=utf8&num=10&q=%E3%82%A2%E3%83%88%E3%83%A0%E3%81%AE%EF%BC%93D&lr=lang_ja
(1) : http://www.google.co.jp/search?hl=ja&q=JavaScript+quaternion&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=lvB&q=javascript+%E3%82%AF%E3%82%A9%E3%83%BC%E3%82%BF%E3%83%8B%E3%82%AA%E3%83%B3&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&q=javascript+3d+vector+quaternion&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
(1) : http://www.google.co.jp/search?hl=ja&rlz=1C1GGLS_jaJP295JP301&q=%E3%82%AF%E3%82%A9%E3%83%BC%E3%82%BF%E3%83%8B%E3%82%AA%E3%83%B3+javascript&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=

 ページ閲覧者数:15人

[ javascript ] 一覧へ


<< 2009年11月
2009年11月22日(日)
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

 最近の書き込み

パソコンショップ
  <2009-11-21 06:56:01>
ネットコマンド
  <2009-11-20 10:30:10>
Linuxコマンド
  <2009-11-18 11:44:56>
家のパソコン
  <2009-11-17 17:25:58>
ROUND 1 (豊橋)
  <2009-11-17 07:49:50>
nPOPs
  <2009-11-15 07:40:23>
打ちっぱなし
  <2009-11-13 15:21:35>
胃カメラ
  <2009-11-13 15:10:33>
T-01A
  <2009-11-13 10:02:41>
画面キャプチャ
  <2009-11-13 07:01:33>


 カテゴリー

おでかけ(67)
サッカー(41)
季節(32)
食べ物(30)
旅(28)
家(28)
映画(26)
地元(25)
DIY(24)
家族(21)
学校(20)
モバイル(20)
生物(20)
健康(19)
Web(17)
風景(17)
ドラマ(17)
通勤(16)
ブログ(14)
Winアプリ(14)
家電(13)
ゲーム(12)
足技(12)
ブラウザ(11)
本(11)
ゴルフ(10)
自転車(10)
Linux(10)
php(9)
javascript(9)
 ・ 連想検索
 ・ GoogleMaps風
 ・ GETリクエストを得る
 ・ Ajax多重通信
 ・ 画像検索
 ・ 3D空間
 ・ formでのENTERキーと多重送信
 ・ Ajax suggest
 ・ textarea カーソル位置文字列挿入
PCハード(9)
ネットワーク(8)
飲み物(8)
会社(8)
感銘映像(6)
税金(5)
空想(5)
VMware(4)
Ruby(4)
データベース(3)
perl(1)