魔術師の巣窟(仮)
趣味のゲーム製作サイトです。 そのうちHPを作ると思いますので、ここは仮住まいです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
平方根、その2
昨日のあれですが、1日考えて、これやるならデータベースに平方根表突っ込んだ方が良くね? と思いました。
0~9999までの数の平方根×10000000をエクセルかOOセルで表にしてcsv出力してcsv2dbtypeを使って適当なタイプに読み込み
変数0=ルートの中身
変数1=10000000
として、変数0<10000となるまで(やー、<は&lt;って書かなきゃいけないの忘れてた)
変数0/=100
変数1/=10
という計算を繰り返す
で、変数0の値を使ってデータベース読込み、変数1で割ると平方根の近似値が出て来ると。
…あー、こっちのが多分数十倍早いですね。
データベースに10000個数値入れても、40KBくらいしか増えないはずです。

ちなみに、昨日のあれを10000回ループに入れて時間計測した所、約6秒でした。
1回ごとに0.6ミリ秒…1フレームあたり25回も計算したら遅くなっちゃいます。
これは使えない。

追記はコメント返信
>>藤田さん
やってることは開平法と変わりませんよ。ニュートン法も試してみましたが余計に遅かったという(10000回で15秒もかかりました)。
本当はC言語のsqrt(x)関数がそのまま使えると一番早そうなんですが。

>>Pさん
自機狙いの弾の速度をV(Vx,Vy)として、敵機と自機の座標差を(x,y)とすると、
Vx=V*x/√(x*x+y*y)
Vy=V*y/√(x*x+y*y)
になるんですよ。
だからどうしてもルートは必要だなーと。
三平方の定理は使ってますが三角関数は必要ありませんよ!

というか元ネタの方がわからないです><
スポンサーサイト
コメント
この記事へのコメント
どうしよう、記事の内容が途中から眠くなって理解できないよッ…!(黙

平方根を求めるのがどんだけ大変なのかは伝わりました(
ウディタは何でも出来るといってもやっぱりそういった細やかなとこは扱いは難しいんですね(´・ω・`)
 
あ、あと画ケーキありがとうございました^q^おいしく(妄想で)いただきました
2008/11/25 (火) 23:06:39 | URL | Bobby #TezqYSu.[ 編集]
V・・・だと・・・?
三平方の定理が既に危ないです!
二乗した二辺が斜辺の二乗と同値って事だけギリギリ覚えました!(・ω・`)

元ネタはFF6の最初のボス戦からでした。
殻を攻撃してはいけない!
2008/11/26 (水) 00:24:15 | URL | P #mQop/nM.[ 編集]
↑ビックスですね~。懐かしいです!

あぁ~、
平方根表の方が速そうな感じなんですね~。
計算速度をちょっと考えてわかるってすごいですよ!

一つ気になったんですが、
同様に三角関数表を作っておいて、
読み込みした場合の速度はどうなるんでしょう?

角度の近似値を求める方法はアークタンジェントの
テイラー展開あたりかと思うんですが、計算速度となるとお手上げです↓
ぜひ詳しい方にお聞きしたいと思いまして。
2008/11/26 (水) 02:18:32 | URL | ユノ #NcmkoFIU[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2005 魔術師の巣窟(仮) all rights reserved.
Powered by FC2ブログ.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。