Math 圆在一定角度下的平移坐标
我有两个圆在某个碰撞点和某个碰撞角度下碰撞,我使用以下公式计算:Math 圆在一定角度下的平移坐标,math,Math,我有两个圆在某个碰撞点和某个碰撞角度下碰撞,我使用以下公式计算: C1(x1,y1) C2(x2,y2) 连接其中心的线与x轴之间的角度为 X = arctg (|y2 - y1| / |x2 - x1|) 我想要的是,在与另一个圆碰撞的相同角度下,平移顶部的圆。我的意思是,对于角度X,我不知道我应该给出什么样的平移坐标,才能得到正确的和直线的平移 我想你的意思是,这里有一些干净的方法 在向量中思考 假设底部圆的中心有坐标(x1,y1),顶部圆的中心有坐标(x2,y2)。然后定义两个向量
C1(x1,y1) C2(x2,y2)
连接其中心的线与x轴之间的角度为
X = arctg (|y2 - y1| / |x2 - x1|)
我想要的是,在与另一个圆碰撞的相同角度下,平移顶部的圆。我的意思是,对于角度X,我不知道我应该给出什么样的平移坐标,才能得到正确的和直线的平移 我想你的意思是,这里有一些干净的方法 在向量中思考 假设底部圆的中心有坐标
(x1,y1)
,顶部圆的中心有坐标(x2,y2)
。然后定义两个向量
support = (x1,y1)
direction = (x2,y2) - (x1,y1)
现在,两个中心之间的线完全由参数表示描述
line = support + k*direction
使用k
在(-inf,+inf)
中的任何值。在初始时间,在上面的等式中替换k=1
,确实给出了顶圆的坐标。在稍后的某个时间,t
,k
的值将增加,并将该新值k
代入方程中,将给出顶圆中心的新坐标
值t
增加多少k
等于圆的速度,这完全取决于你:)
这样做的话,你就永远不需要在任何角度和/或坐标变换等方面乱来。它甚至可以在3D中工作(只要你在任何地方添加
z
-坐标) 一张图片上写着一千多个单词……你能用更多的结构来描述你得到了什么,公式(或函数)是什么?C(x,y)
,以及你到底想实现什么?我不太明白你在找什么样的翻译。这与OpenGL或一般编程无关。我认为应该改为使用它。@MateurProgrammer建议迁移到您不熟悉的站点可能不是一个好主意;这不是一个糟糕的问题(至少对我来说),它不适合这个网站,所以我决定至少把它推荐给另一个适合它的网站。如果没有,那么这个问题应该问哪个网站?