【发布时间】:2014-12-16 16:25:54
【问题描述】:
我正在寻找一种算法来计算包含在另一个闭合路径中的闭合路径的位置,以便它的中心点沿着已知轴并且它尽可能靠近外部路径的边缘(不相交) .
路径最有可能是简单的形状(椭圆形、矩形),但如果有更通用的算法可以处理更复杂的路径(即由 CGPath/BezierPath 表示),那就更好了。
这些例子可以更好地说明:
在所有三种情况下,我都有A点、B点和路径1/路径2。
我正在寻找P点的位置,它是Path 2的中心,并放置在最靠近Path 1边缘的位置> 沿轴 A-B
有没有通用的方法来实现这一点,还是我需要为特定的形状单独计算它?
(第三个例子在只处理圆圈时显然很容易解决,但这只是一种特殊情况)
我在 iOS 上使用 SpriteKit,所以如果有任何现有的 API 可以利用,那就太好了。但是指向通用算法的指针也会有所帮助。
【问题讨论】:
-
没有解决方案,但可能是其中的一部分:Separate Axis Theorem
-
这也可能是计算机科学堆栈交换的东西。
标签: algorithm math graphics sprite-kit trigonometry