Math 计算X/Y坐标以偏移相邻轴的Y旋转
我在二维空间中有两条线,由L1a/L1b和L2a/L2b定义,它们具有相同的宽度(或长度X),并且为了简化,Y=0。两条线的旋转轴都位于其中心。 两条线共享一个坐标相同的点,即线1的点L1b和线2的点L2a 图1.Math 计算X/Y坐标以偏移相邻轴的Y旋转,math,2d,computational-geometry,Math,2d,Computational Geometry,我在二维空间中有两条线,由L1a/L1b和L2a/L2b定义,它们具有相同的宽度(或长度X),并且为了简化,Y=0。两条线的旋转轴都位于其中心。 两条线共享一个坐标相同的点,即线1的点L1b和线2的点L2a 图1. L1a-----R1-----L1b L2a-----R2-----L2b L1a L2a -- -- -- -- -R1- -R
L1a-----R1-----L1b L2a-----R2-----L2b
L1a L2a
-- --
-- --
-R1- -R2-
-- --
-- --
L1b L2b
L1a
--
--
-R1-
--
--
L1b L2a
--
--
-R2-
--
--
L2b
现在,两条线都在Y轴上以相同的角度旋转,例如45度
插图2.
L1a-----R1-----L1b L2a-----R2-----L2b
L1a L2a
-- --
-- --
-R1- -R2-
-- --
-- --
L1b L2b
L1a
--
--
-R1-
--
--
L1b L2a
--
--
-R2-
--
--
L2b
我想知道必要的计算方法,以便将两条直线的2个点(如果有差异,请选择任意一个)转换为使点L1b和L2a再次共享相同的坐标
插图3.
L1a-----R1-----L1b L2a-----R2-----L2b
L1a L2a
-- --
-- --
-R1- -R2-
-- --
-- --
L1b L2b
L1a
--
--
-R1-
--
--
L1b L2a
--
--
-R2-
--
--
L2b
我希望我的插图有意义。记住,L1b和L2a应该具有相同的坐标,这在我的插图中不清楚
下面是一个不需要太多数学技能的示例。所有点定义为:L*(x,y) 示例:旋转y=90度 第一步。旋转后的坐标
L1a( 50,50); L1b( 50,-50)
L2a(150,50); L2b(150,-50)
第二步。直线1点的平移
x=100,y=100
第三步。最终坐标
>>L1a(150,150); L1b(150, 50)<<
L2a(150, 50); L2b(150,-50)
L1a(150150);L1b(150,50)对不起,你的描述有点混乱。你说两条线都有一个旋转中心,但图片和数学似乎得出了相反的结论 假设R1和R2是直线的旋转中心,听起来你只是在寻找所有4个点的圆形旋转。要做到这一点,你需要做一些三角学 您将增加一个计数器,该计数器表示圆上点的角度。然后: x=半径*cos(角度) y=半径*sin(角度)让长度=2r 选择轴,以便: L1a=(-2r,0)L2a=L1b=(0,0)L2b=(2r,0) 中心是C1=(-r,0)C2=(r,0) 顺时针旋转xα后: L2a=(r*cos(x)-r,-r*sin(x))L1b=(-r*cos(x)+r,r*sin(x)) 因此,翻译如下:
(2r-2r*cos(x),2r*sin(x))只是为了确保。之后需要共享相同坐标的始终是点L1b和L2a。例如,如果旋转为180度,使用相同的起始坐标,平移将为x=200,y=0R1和R2始终不同,因为每条线都围绕各自的中心旋转。作为背景信息。我实际旋转的是三个大小相同的正方形图像,它们彼此紧挨着。我想让它看起来,如果所有三个图像实际上是一个正在旋转的图像。为了做到这一点,我需要重新定位的第一个和最后一个图像后,他们每个人都是围绕自己的中心旋转相同的角度,使他们再次排队。对不起,但我仍然很困惑。直线的旋转轴在哪里?