【发布时间】:2010-11-13 18:40:59
【问题描述】:
假设给定一个圆,AB 线包含它的中心 O,这样 A 和 B 在圆上(OA=OB=半径)。在点 A 上绘制切线 t,并且 我应该计算圆的某些点 (a,b,c,d...) 到切线 (at, bt, ct, dt, ...) 上的点的映射,使得距离 Aa (距离沿圆)与距离 Aat(沿切线的距离)相同(距离 Ab、Ac、Ad 也相同)。但是,在这里,应该考虑一定的约束:从圆的一侧从 A 到 B 的圆的那些点(在 (a, b, c, d) 之间)应该放在切线的一侧(较近),从 A 到 B 的圆的另一侧应放在另一侧。基本上,圆应该在 B 处分割,然后映射到切线。我希望这个解释已经足够了。
需要注意的是,我有关于 A、B、O、a、b、c、d 坐标的信息。我应该计算(at,bt,ct,dt)。 为了解决这个问题,我有两种方法,但我不确定如何确保它们始终正常工作。
1) 我计算点 A 的切线方程。然后对于每个点 (a, b, c, d) 我计算到 A 的距离(沿圆),并使用这些距离计算 (at, bt, ct, dt...) 沿切线。我不知道的是如何计算距离 从 A 到 (a, b, c, d)。问题是“正确的一侧”确定,这意味着我应该如何确定该点应该映射在切线的一侧还是另一侧。确定这一点的方法是什么。
2) 我计算点 A 的切线方程。然后对于每个点 (a, b, c, d) 我计算到 A 的距离(沿圆),并使用这些距离计算 (at, bt, ct, dt...) 沿切线。为了确定给定点的“正确的一侧”,我可能会使用该点到切线的投影。但是,即使这样,我怎么知道“哪一边是哪一边”?也许有更简单的方法可以做到这一点。
欢迎任何有关如何执行此操作的建议。如果我不够精确,我会详细说明。
【问题讨论】:
-
这是一个相当重量级的描述。图表会很有帮助!
标签: math vector geometry computational-geometry vectormath