对于碰撞检查,我需要计算两个凸多面体相交的时间(如果其中一个沿直线移动)。目前,我有:
A
的一组点及其移动方向。B
的一组点C
,|C| = |A| * |B|
的点的Minkowski总和C
的三角凸包这一切都可以,但是很慢。尤其是计算三角凸包的步骤。
我想知道是否有一种更快的方法可以根据这些点集来计算射线凸多面体交点,而无需计算三角凸包。如果有帮助的话,我可以将输入作为平面(平面方程)。
答案 0 :(得分:0)
通过分离轴定理解决:
return NestedScrollView(
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[
SliverAppBar()
];
},
body: Hero(
tag: 'test',
child: Container(
padding: EdgeInsets.fromLTRB(16.0, 20.0, 16.0, 16.0),
child: Builder(builder: (context) {
var handle = NestedScrollView.sliverOverlapAbsorberHandleFor(context);
print('test');
return Container( . // whatever you want to return here
child: Text('test'),
);
print('test');
})
),
),
);
。shift
的间隔。可以通过跟踪遇到的最小值和最大值来就位。与原始解决方案相比:
shift
降至O(N log N)
,其中O(N)