【发布时间】:2015-06-22 10:36:39
【问题描述】:
我在二维空间(在 x-y 平面上)有一个凸封闭形状。我不知道它长什么样。我将这个形状大约围绕其边界框的中心旋转 64 次 5.625 度 (360/64)。对于每次旋转,我都有形状极值点的 x 坐标。换句话说,我知道每次旋转的形状的左右 x 范围(假设是正交投影)。如何在与 x 投影不矛盾的形状上获得 64 个点。 请注意,2D 形状正在旋转,但坐标轴并未随之旋转。因此,如果您的对象是一条线,则绘制后每一端的 x 投影本质上将是一个 sin/cos 波,具体取决于其原始方向。
如果我有解决方案,旋转次数越多 - 我就越接近我的实际形状。
实际上,我不知道旋转形状的确切点,但是假设我知道的任何解决方案仍然会有所帮助,因为我不介意重建不完美。
【问题讨论】:
-
是透视投影还是正交投影?
-
您是否围绕已知坐标的固定点旋转?对于每次旋转,你得到两个坐标(左和右),还是只有长度?
-
如果您围绕单个轴旋转,并且只获得极端坐标,您将永远无法完全重建形状:您将获得的只是一个边缘平行于旋转轴的边界棱镜。您有两种选择:考虑多边形轮廓,或以两个角度旋转。
-
Yves:他正在观察二维空间中的一个形状(并围绕一个点旋转)。由于形状是凸的和闭合的,很容易证明一个点位于形状内当且仅当它位于 [0,2*PI] 中所有旋转角的一维投影内(没有不管哪一点是你的旋转中心)。为了证明这一点,找到任何将整个形状放置在所讨论点的左侧(或右侧)的旋转。假设这对于形状外的点是不可能的,将导致与凸形相矛盾。
标签: algorithm math geometry computational-geometry differential-equations