0

我有代表自由形式对象横截面的`System.Windows.Media.Point3D 集合。

它总是或多或少的形状像“海鸥翅膀”,“M”图案,有两个凸出的凸起,中间有一个“山谷”。它在空间上的方向是任意的,不能保证中央山谷是横截面中唯一的凹陷。

我已经有一种方法可以检测一个保证位于这些山谷之间的点,现在我想找到代表围绕中心点的“双切线”的一对点,即在两点之间经过的线保持所有其他点在同一侧,这也限制了起点。

下图显示了我想要实现的目标:

在此处输入图像描述

我相信叉积是找出三个点是“凹”还是“凸”的好方法,但还没有弄清楚如何执行循环(如何开始,增加什么以及何时停止)。

另外,虽然我可以使用蛮力(不是那么多点),但这肯定会伤害我的感情。

4

1 回答 1

1

确定顶点的凸包。不属于凸包顶点的顶点序列对应于凹面。根据您的描述,听起来总是会有一个凹面。顶点的凹度序列的第一个和最后一个顶点是您要查找的线的端点。

于 2014-06-13T23:20:36.510 回答