C/C++ゲーム製作総合スレッド Part5at GAMEDEVC/C++ゲーム製作総合スレッド Part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト350:名前は開発中のものです。 14/03/11 15:37:28.53 7aEkrhcX.net b1{x, y, z, r} b2{x, y, z, r} diff.x = abs( b1.x - b2.x ) diff.y = abs( b1.y - b2.y ) diff.z = abs( b1.z - b2.z ) distance = sqrt( sqrt( diff.x^2 + diff.y^2 ) + diff.z^2 ) distance > b1.r + b2.r → no collision distance = b1.r + b2.r → contact distance < b1.r + b2.r → collision 351:名前は開発中のものです。 14/03/11 15:55:58.02 AQe4Fl77.net 数学的に >>324 が正解です、 しかしながら、プログラミングとしての最適化されていない。 最適化された解を述べよ、 ( 処理速度向上させよ ) 352:名前は開発中のものです。 14/03/11 15:59:16.47 AQe4Fl77.net 訂正、 >>324 じゃなくて、>>342 です 353:名前は開発中のものです。 14/03/11 17:31:22.65 7aEkrhcX.net あー、どうせ2乗するなら abs() が不要か 平方根の最適化はコンパイラに任せるとして、 distance = sqrt( sqrt( diff.x * diff.x + diff.y * diff.y ) + diff.z * diff.z ) とかじゃダメ? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch