2016-11-04 9 views
3

sympy.physics.vectorモジュールfrom hereを使用して、いくつかのベクトルフィールド操作を実行しようとしています。このプロセスの一環として、私は多くの座標系を追跡したいと思います。これらの部分集合は残されています。sympy.physics.vectorモジュールで左手座標系を定義する方法は?

のは、Iで始まるとしましょう:

  • 参照フレームA(右利き; X:右、Y:ページに、Z:アップ)

  • 参照フレームB (左手系; X:右、Y:ページに、Z:下)

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

これらのシステム間の関係を定義する必要があります。これが達成できることを知っている唯一の方法は、オリエンテーションを使用して2つの参照フレーム間の回転のセットを定義することです。今、私は回転のない量が左利きシステムに右利きシステムを変革ないだろうことを伝える必要はありません...私は単純に必要なのは、参照フレームB知らせるためである

B.z = -A.z 

たI 「ReferenceFrame」オブジェクトは、アイテムの割り当てをサポートしていません< <以来

B[2] = -A[2] 

を行うことはできません>>

CoordinateSymを使用すると、どちらかずっとここに私を助けるだろうとは思えません...

誰にも提案はありますか?

答えて

2

sympy.physics.vectorパッケージは右利きシステムの周りに構築されています。すべての操作が右手のルールに従うので、左利きのシステムが動作するとは思えません。クロス製品。左利きのシステムの一般的な機能を実装するには、基礎となるコードを大幅に更新する必要があります。

+1

私の疑惑を確認していただきありがとうございます。 クロス積のほかに、左手系の場合も回転を再定義する必要があります。システムの向きが異なる場合には、ほとんどすべての操作にマイナスを追加します。私はそれが多くの書き換えを必要とは思わない。 実際には、すべての座標系が右利きであるとは限らないため、ドキュメンテーションはこれらの制限を強調する必要があります。また、モジュール内でシステムの向きを把握することができれば本当にうれしいでしょう。 –

+0

ドキュメントの改善とともにプルリクエストを送信してください。 – moorepants

関連する問題