【问题标题】:moving CGPoint a certain distance along a certain heading...iphone沿某个方向移动 CGPoint 一定距离...iphone
【发布时间】:2011-02-27 11:47:11
【问题描述】:

这似乎是一个如此简单的问题,但我一直找不到答案(而且我不擅长数学)。我正在尝试将 UIView 沿某个标题移动到新的 CGPoint X 距离。新坐标的确定公式是什么?

(我不想让它变成动画,只是一个瞬间的动作)

类似:

x = 100; (current x value)
y = 150; (current y value)
d = 25; (distance to move the point)
h = 90; (west)

\\\ insert formula to determine new x,y coords

self.car.center =  (CGPointMake ([newX],[newY]);

【问题讨论】:

  • “某些标题”是什么意思?这是一个方向吗?对此有何假设?一些数据类型和代码 sn-ps 会有所帮助。
  • 对不起,我什至还没有代码,我只是开始做这件事。我所说的标题是指沿着一个主要方向的课程。我在地图上有一个 UIView 需要像跟随一个方向(360 度)一样移动。

标签: iphone objective-c trigonometry heading cgpoint


【解决方案1】:

如果 p 是您的点,D 是距离,θ 是距 X 轴的航向角,

p.x = p.x + D * cos(θ)
p.y = p.y + D * sin(θ)

不过,这通常使用vectors 来完成,而不是存储距离和角度(这消除了对 sin/cos 的需要)

【讨论】:

  • 另外,不要忘记将角度转换为弧度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多