100 m/sで衝突判定される Stanford Armadillo

spatial-temporal optimizationによるSDF-SDF CCDの概要。出典: R. G. Nielsen, K. Erleben, “Alternating Spatial-Temporal Optimization for Continuous Collision Detection of Signed Distance Fields”, Figure 1, Computer Graphics Forum, e70570 (2026).

論文ページでFigureを確認

今回のStanford Armadillo

Stanford Armadilloは、複雑な形状同士が高速で接近したとき、最初に接触する時刻をSDFから高速に求められるかを評価するベンチマークに使われています。論文のモデルは345,944三角形で、Stanford 3D Scanning Repositoryのvrip reconstructionと一致します。

形状を幅1 mにスケーリングしてSigned Distance Fieldへ変換し、表面上の特徴的な位置から388個の開始点を選びます。2,000組のrandomized pairについて、一方を静止させ、もう一方を100 m/sで接近させます。角速度は0です。

平均実行時間は0.203 ms、ground truthとのTime of Impact差の平均は9.53e-5でした。345,944枚の三角形を直接追いかける代わりに、388個の疎な開始点から接触候補を探しています。

今回の扱い:SDFへ変換され、ランダム姿勢から100 m/sで接近する2,000組のCCDベンチマークに使われる
状態:無傷

論文の内容

高速運動では離散判定だけでは足りない

Discrete Collision Detectionではframe間を飛び越えるtunnelingが起こる場合があります。Continuous Collision Detectionでは時間区間の中で最初に接触するTime of Impactを求めます。

この研究はtriangle-triangle testを繰り返すのではなく、二つのSigned Distance Fieldへdistanceとgradientを問い合わせながら、3次元位置と時刻を同時に最適化します。

表面上を滑るように探索する

探索点が元の表面から離れないよう、一方のSDFのzero level setへprojectionします。もう一方のgradientもtangent planeへprojectして、表面上の空間移動を構成します。

時間方向は形状間距離と相対速度からstepを決め、接触から遠ければ大きく、近づけば小さく進みます。

Sparse starting points

全表面を密にsampleせず、表面上の局所極値を中心に開始点を作ります。明確な極値がない領域ではisosurfaceと交差するvoxelから補助点を追加し、近すぎる点を削除します。

このsamplingは高速化に有効ですが、全collisionを必ず検出するformal guaranteeはありません。少数の開始点とcoverageにはtrade-offがあります。

Conservative advancementとearly exit

bounding sphereとlinear/angular velocityから、接触可能になる最も早い時刻をconservativeに推定します。

さらに最も早く接触しそうな開始点を先に処理してbest TOIを得ます。他の候補が既にbest TOIより遅ければ探索を中止できます。論文ではearly exitだけでruntimeがおよそ半分になり、複数の最適化を組み合わせると平均約3倍のspeedupが得られています。

数値評価

複雑な評価形状では388 starting pointsで2,000 pairを処理し、平均iteration 1.87、平均runtime 0.203 msでした。

別の1,500 triangle形状では43 starting points、0.040 msです。さらに700万triangle超の形状でもruntimeは0.277 msで、元meshのtriangle数よりSDF query数とstarting points数が支配的であることが示されています。

benchmarkはAMD Ryzen 7735HSの1 coreで実行され、broad phaseは含みません。

制約

regular-grid SDFのgradientはfinite differenceなのでdiscretization errorがあります。論文では実用上のaccuracyはおおむね1e-5程度と整理しています。

またsparse samplingとgradient optimizationに基づくため、no-false-negativeを数学的に保証するCCDではありません。real-time用途寄りの実用的近似として位置付けられています。

論文情報

Alternating Spatial-Temporal Optimization for Continuous Collision Detection of Signed Distance Fields

Rasmus Gabelgaard Nielsen, Kenny Erleben

  • Published: 2026年8月12日
  • Journal: Computer Graphics Forum
  • DOI: https://doi.org/10.1111/cgf.70570
  • 分野: Collision Detection / Physical Simulation / Geometry Processing
  • 使用モデル: Stanford Armadillo
  • 使用箇所: Section 4.1、Tables 2・4
  • triangle数: 345,944
  • pairs: 2,000
  • linear velocity: 100 m/s
  • angular velocity: 0
  • starting points: 388
  • average runtime: 0.203 ms
  • average iterations: 1.87
  • mean ΔTOI: 9.53e-5
  • 用途: SDF-SDF CCDのaccuracy・runtime評価