【问题标题】:Offset Rotation Calculations in .NET2.NET2 中的偏移旋转计算
【发布时间】:2011-05-12 16:27:01
【问题描述】:

我想知道是否有人可以帮助我解决我遇到的这个问题。我正在使用 .NET 2 环境。

我在 2D 平面上的不同位置有 2 个点作为两个 PointF

我在第一个点有一个已知的旋转(以度为单位),我需要知道如何计算第二个“偏移”点的旋转。

换句话说,我想将第二个点旋转一个未知的量,但第一个点的效果需要是已知的旋转值。

我已经尝试了各种方法来解决这个难题,我的数学和三角技巧相当生疏。谁能帮帮我?

非常感谢。

【问题讨论】:

  • 不清楚您要完成什么。当您说“旋转”时,您是在围绕原点旋转吗?你想让 Point#2 围绕 Point#1 旋转吗?一张照片真的很有帮助。我不明白你想做什么。
  • 希望这会有所帮助:i55.tinypic.com/68ev5x.jpg 我正在尝试计算将已知旋转应用于点 A 时在点 B 处的旋转(这是从点 A 的已知偏移量)更具体地说我有两个系统试图传达测量为 X、Y 和旋转的偏移量。但是这两个系统使用不同的旋转点,所以我需要应用某种旋转校正。
  • 所以你想将 A 点围绕其他点旋转,称为原点 A。然后你想将 B 点围绕其他点旋转,称为原点 B,这样完成后, B 相对于 A 的位置没有改变?
  • 不,我正在尝试将围绕一个点计算的旋转值转换为在已知 X 和 Y 偏移上围绕单独点的旋转。
  • 但这在一般情况下是不可能的。例如,围绕原点旋转(10, 10) 处的点将导致围绕(12, 23) 旋转时无法到达的点。还必须有一个翻译组件。

标签: .net math matrix rotation trigonometry


【解决方案1】:

我正在尝试将围绕一个点计算的旋转值转换为在已知 X 和 Y 偏移上围绕单独点的旋转。

我将这解释为意味着你有第三个点,我们称之为 R 点,它围绕 A 点旋转 x 度。你想知道 R 围绕 B 点旋转了多少度。

以这种方式框起来,它是not possible。围绕 A 点(红色)的旋转圈与围绕 B 点(蓝色)的旋转圈不同。两个黑色箭头说明,当您说“围绕 A 点旋转”和“围绕 B 点旋转”时,它们会将您带到不同的方向。

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 2010-12-17
    • 2011-01-04
    相关资源
    最近更新 更多