2014-02-07 231 views
0

我有兩條由L1a/L1b和L2a/L2b定義的2D空間,它們具有相同的寬度(或X的長度),爲了簡化Y = 0。兩條線的中心都有旋轉軸。 兩條線共享該相同座標的點,即從1號線指向L1b中和從2號線X/Y座標到相鄰的Y偏移量的計算

插圖1.

L1a-----R1-----L1b L2a-----R2-----L2b 

兩條線現在正在旋轉點L2a而Y軸使用相同的角度,例如45度。

插圖2.

L1a    L2a 
    --     -- 
    --     -- 
     -R1-    -R2- 
      --     -- 
      --     -- 
       L1b    L2b 

我想知道必要的計算翻譯的任一線路的2點(選擇任何你喜歡的,如果它有差別),以點L1b和L2a再次共享相同的座標?

插圖3

L1a     
    --     
    --     
     -R1-    
      --     
      --     
       L1b L2a    
         -- 
         -- 
          -R2- 
           -- 
           -- 
            L2b 

我希望我的說明是有意義的。請記住,L1b和L2a應該具有相同的座標,這在我的插圖中並不清晰可見。

這是一個不需要太多數學技能的例子。
所有點被定義爲:L *(X,Y)

實施例:度旋轉Y = 90度

L1a( 0,0); L1b(100,0) 
L2a(100,0); L2b(200,0) 

步驟1.座標旋轉後

L1a(50,50); L1b(50,-50) 
L2a(150,50); L2b(150,-50) 

第2步。翻譯1號線的點

X = 100,Y = 100

第3步:最終座標

>>L1a(150,150); L1b(150, 50)<< 
    L2a(150, 50); L2b(150,-50) 

我希望這是有道理的。謝謝!

+0

只是爲了確保。之後總是需要共享相同座標的點L1b和L2a。例如,如果旋轉是180度,使用相同的起始座標,則平移將是** x = 200,y = 0 ** –

回答

0

對不起,但你的描述有點混亂。你聲明兩條線都有一個旋轉中心,但圖片和數學似乎都以其他方式得出結論。

假設R1和R2是線條的旋轉中心,它聽起來像是在尋找所有4個點的圓形旋轉。要做到這一點,你需要做一些三角學。

您將增加一個表示圓上點的角度的計數器。然後:

X =半徑* COS(角度)

Y =半徑* SIN(角度)

+0

R1和R2總是不同的,因爲每條線圍繞它們自己的中心旋轉。作爲背景信息。我實際旋轉的是三個相同尺寸的方形圖像,它們彼此相鄰。我想讓它看起來像這三個圖像實際上是一個正在旋轉的單個圖像。爲了做到這一點,我需要重新定位第一張和最後一張圖像,然後每張圖像都圍繞自己的中心旋轉相同的角度,使它們重新排列。 –

+0

對不起,但我還是很困惑。線的旋轉軸在哪裏? – shmyq

0

設長度= 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))