2016-11-04 72 views
3

我正在嘗試使用sympy.physics.vector模塊from here做一些矢量場操作。作爲這一過程的一部分,我想跟蹤許多座標系,其中的一部分將被左移。如何在sympy.physics.vector模塊中定義左手座標系?

比方說,我開始:

  • 參照系(右手; X:右,Y:進入頁面,Z:上)

  • 參考幀B. (左手; x:右,y:入頁,z:下)

    from sympy.physics.vector import ReferenceFrame 
    A = ReferenceFrame('A') 
    B = ReferenceFrame('B') 
    

現在我需要定義這些系統之間的關係,並且我知道可以實現的唯一方法是使用orient來定義兩個參考幀之間的一組旋轉。現在,我不需要告訴你,沒有旋轉的量將改變慣用右手系統左手系統......我只是需要的是讓知道的參照系B中

B.z = -A.z 

我不能做

B[2] = -A[2] 

因爲< <「ReferenceFrame」對象不支持項目分配>>

它似乎並不認爲使用CoordinateSym會幫助我在這裏多任...

有沒有人有任何建議?

回答

2

sympy.physics.vector包是圍繞右手系統構建的。我不認爲你可以指望左手系統工作,因爲所有的操作都遵循右手規則,例如,交叉產品。爲左手系統實現通用功能將需要對底層代碼進行重大更新。

+1

謝謝您確認我的懷疑。 除了交叉產品,還必須爲左手系統重新定義旋轉。它主要涉及在系統方向不同的情況下爲所有這些操作增加缺點。我認爲這不需要太多的重寫。 也許文件應該強調這些限制,因爲並不是所有的座標系都會在實踐中被右移。如果能夠跟蹤模塊內的系統方向,那將是非常好的。 –

+0

隨意提交一個拉取請求,並對文檔進行改進。 – moorepants