在一定角度下的圆的平移坐标

时间:2012-10-23 12:26:38

标签: math

我有2个圆圈碰撞在某个碰撞点和某个碰撞角度下,我使用这个公式计算出来:

C1(x1,y1) C2(x2,y2) 

和它们的中心和x轴相交的线之间的角度是

X = arctg (|y2 - y1| / |x2 - x1|) 

我想要的是将圆圈在与另一个圆相撞的相同角度下翻转到顶部。我的意思是角度X,我不知道我应该为正确和直接的平移提供什么样的平移坐标!

1 个答案:

答案 0 :(得分:0)

我认为你的意思是,这是如何干净利落地完成的。

向量中思考。

假设底部圆的中心具有坐标(x1,y1),并且顶部圆的中心具有坐标(x2,y2)。然后定义两个向量

support   = (x1,y1) 
direction = (x2,y2) - (x1,y1) 

现在,两个中心之间的线由参数表示

完整描述
line = support + k*direction

k (-inf,+inf)中的任何值。在最初的时间,用上面的等式中的k=1代替确实给出顶部圆的坐标。在稍后的某个时间tk的值将增加,并且在等式中替换k的新值将给出顶部圆的中心的新坐标。

k的{​​{1}}增加多少等于圈子的速度,我完全由你决定:)

这样做,您永远不需要处理任何角度和/或坐标转换等。它甚至可以在3D中工作(前提是您添加t - 坐标无处不在)。