私は、多くの場合、斜辺を計算伴うJavaScriptでシミュレーションとアニメーションについての質問の数を見てきました:JavaScriptの中で最も速い斜交ですか?
hypot = Math.sqrt(x*x + y*y);
デカルト座標は、これらのエンジンのほとんどに選択の武器なので、これらの計算をするために必要とされます対の点の距離などを見つけることができます。斜辺を計算する際のスピードアップは、多くのプロジェクトにとって大きな助けになります。
この目的のために、上記の単純な実装よりも速い方法がありますか?私はクロムで少し速かった近似を見つけましたが、this approximation function in SuperColliderに基づいて、Firefoxではずっと遅くなっていました。
編集2015-08-15:私は受け入れられた答えをMath.hypotのものに切り替えました。私は現時点での実用的なアプローチは、Math.hypotまたは合成されたhypot関数を利用できない場合はそれを使用し、十分で、Math.hypotが利用できない場合は、schの答えに対して四角形と比較することだと考えています。
あなたはいつもそれがピタゴラス式を使用するすべてのスクリプトをスピードアップしたいあなたの高貴だ[一部0x5f3759dfマジック](http://en.wikipedia.org/wiki/Fast_inverse_square_root) – violet313
を使用することができます。しかし、私は式をより速くするための一般的な解決策はないと考えています(それ以外の場合、2,500歳のバージョンは使用しません)。式を高速化しようとするのではなく、コードをリファクタリングして、式をlessにし、式がコードのパフォーマンスのボトルネックであることを実証した後でのみ実行してください。 – Kevin
@Kevin:Cやその他のオーバーヘッドの少ない言語では、実際には高速化する近似があります。近似が有用かどうかは、モデルが必要とする精度に依存しますが、ゲーム物理学では、ゲームプレイをより流動的にすると一般に価値があります。 –