Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Printing SE3 with symbolic equations

未關閉
#60 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
35/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
numpy, python
領域
tooling

研究方向

The issue identifies the SE3 printing example, SE3_matrix.A, and NumPy formatting APIs, but no source file or test. Locate the SE3 printing entry point, reproduce the symbolic-matrix example, and verify that printed columns align to the longest term without changing the shown numeric formatting.

由索引模型根據 Issue 內容生成。

描述

enhancement

Hello,
I noticed that matrices with long symbolic equations are printed very shrink.
I found my own priting method and I suggest to align them by the longest term like this:

def print_SE3(SE3_matrix : SE3):
    SE3_numpy = SE3_matrix.A
    max_item_length = SE3_numpy.astype(np.string_).dtype.itemsize
    print(np.array2string(SE3_numpy,max_line_width=np.inf,precision=3,suppress_small=True,formatter = {'all':lambda x: f"{str(x):{max_item_length}}"}))

or:

def print_SE3(SE3_matrix : SE3):
    SE3_numpy = SE3_matrix.A
    max_item_length = SE3_numpy.astype(np.string_).dtype.itemsize
    with np.printoptions(precision=3, suppress=True, linewidth = np.inf, formatter = {'all':lambda x: f"{str(x):{max_item_length}}"}):
        print(SE3_numpy)

Results without print_SE3:

  -1.0*sin(theta2)*cos(theta1) 1.0*sin(theta1) 1.0*cos(theta1)*cos(theta2) (d3 + l2)*cos(theta1)*cos(theta2)  
  -1.0*sin(theta1)*sin(theta2) -1.0*cos(theta1) 1.0*sin(theta1)*cos(theta2) (d3 + l2)*sin(theta1)*cos(theta2)  
  1.0*cos(theta2) 0            1.0*sin(theta2) l1 + (d3 + l2)*sin(theta2)  
  0            0            0            1             

Results with print_SE3:

[[-1.0*sin(theta2)*cos(theta1)      1.0*sin(theta1)                   1.0*cos(theta1)*cos(theta2)       (d3 + l2)*cos(theta1)*cos(theta2)]
 [-1.0*sin(theta1)*sin(theta2)      -1.0*cos(theta1)                  1.0*sin(theta1)*cos(theta2)       (d3 + l2)*sin(theta1)*cos(theta2)]
 [1.0*cos(theta2)                   0                                 1.0*sin(theta2)                   l1 + (d3 + l2)*sin(theta2)       ]
 [0                                 0                                 0                                 1                                ]]

I know that this function could be better so the inner columns should have less separation but I think it's good first step towards the good change.

主要語言
Python
星號
642
分支
102
平均合併
59 分鐘
30 天內合併 PR
2

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

rai-opensource/spatialmath-python 的其他 Issue

查看 rai-opensource/spatialmath-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。