草庐IT

convex-hull

全部标签

c# - 如何判断一个点是在线的右侧还是左侧

我有一组点。我想将它们分成2个不同的集合。为此,我选择了两个点(a和b)并在它们之间画了一条假想线。现在我想将这条线左侧的所有点都放在一组中,将这条线右侧的所有点放在另一组中。我如何判断给定点z是在左边还是右边?我试图计算a-z-b之间的角度-小于180度的角度在右侧,大于180度的角度在左侧-但由于ArcCos的定义,计算出的角度总是更小大于180°。是否有计算大于180°的角度的公式(或选择右侧或左侧的任何其他公式)? 最佳答案 试试这个使用crossproduct的代码:publicboolisLeft(Pointa,Poin

c# - 如何判断一个点是在线的右侧还是左侧

我有一组点。我想将它们分成2个不同的集合。为此,我选择了两个点(a和b)并在它们之间画了一条假想线。现在我想将这条线左侧的所有点都放在一组中,将这条线右侧的所有点放在另一组中。我如何判断给定点z是在左边还是右边?我试图计算a-z-b之间的角度-小于180度的角度在右侧,大于180度的角度在左侧-但由于ArcCos的定义,计算出的角度总是更小大于180°。是否有计算大于180°的角度的公式(或选择右侧或左侧的任何其他公式)? 最佳答案 试试这个使用crossproduct的代码:publicboolisLeft(Pointa,Poin

【解决】Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported since Unity 5...

开发平台:Unity2021.3.7f1c1 一、问题描述Non-convexMeshColliderwithnon-kinematicRigidbodyisnolongersupportedsinceUnity5.Ifyouwanttouseanon-convexmesheithermaketheRigidbodykinematicorremovetheRigidbodycomponent.Scenehierarchypath“XXXX”,Meshassetpath“XXX/XXX/XX”Meshname“XXX”翻译:自Unity5起,不再支持具有非运动学刚体的非凸网格碰撞体。如果要使用非

python - 找出一个点是否位于点云的凸包中的有效方法是什么?

我在numpy中有一个坐标点云。对于大量的点,我想知道这些点是否位于点云的凸包中。我尝试了pyhull,但我不知道如何检查一个点是否在ConvexHull中:hull=ConvexHull(np.array([(1,2),(3,4),(3,6)]))forsinhull.simplices:s.in_simplex(np.array([2,3]))引发LinAlgError:数组必须是正方形。 最佳答案 这是一个只需要scipy的简单解决方案:defin_hull(p,hull):"""Testifpointsin`p`arein`

python - 找出一个点是否位于点云的凸包中的有效方法是什么?

我在numpy中有一个坐标点云。对于大量的点,我想知道这些点是否位于点云的凸包中。我尝试了pyhull,但我不知道如何检查一个点是否在ConvexHull中:hull=ConvexHull(np.array([(1,2),(3,4),(3,6)]))forsinhull.simplices:s.in_simplex(np.array([2,3]))引发LinAlgError:数组必须是正方形。 最佳答案 这是一个只需要scipy的简单解决方案:defin_hull(p,hull):"""Testifpointsin`p`arein`

函数强凸 strong convexity

接着上一篇文章,我们接着说函数的强凸性。定义:若函数f(x)满足参数strongconvex则通过这个式子我们可以看到,所谓的强凸就是比凸多了最后项非零项,自然就比一般的凸更加严格了,所以强凸是不是也比较容易理解了。Claim如果函数f(x)强凸,则函数 为凸函数。是不是觉得这个claim与平滑中的claim很像,的确是的。我们先证明一下这个性质。Proof:如果g(x)为凸函数,那么g(x)需要满足凸函数的性质即由于f(x)是强凸函数,因此命题得证。实际上,如果f(x)是强凸函数,我们还可以得到二次导数有下界。平滑是二次导数有上界。同时,我们可以看出强凸与平滑并不等价。强凸是凸,而平滑则不是

c++ - 3D碰撞检测: convex hull vs convex hull ,需要位置和法线

我想知道两个3D凸包(AvsB)之间碰撞位置的近似3D位置和3D法线。括号中的CPU显示了我完成的程序所需的相对CPU时间。第1部分:提前退出(CPU1%)在第一步中,我使用了一个非常便宜的算法——separationaxistheorem.例如,我使用15axis2个立方体。(在实际情况下,形状更复杂。)如果至少有1个轴可以分离,返回“no-collide”。否则,做下一部分。第2部分:顶点与体积(CPU10%)检查A的每个顶点-是否在B内。检查B的每个顶点——是否在A内。第3部分:边缘与边缘(CPU>20%)有一个奇怪的案例,例如https://gamedev.stackexcha
12