Tôi có cùng một vấn đề như được mô tả ở đây: how to perform coordinates affine transformation using python?làm thế nào để thực hiện tọa độ affine chuyển đổi bằng cách sử dụng python? phần 2
Tôi đã cố gắng sử dụng phương pháp được mô tả nhưng một số lý do tôi sẽ nhận được thông báo lỗi. Thay đổi tôi đã thực hiện cho mã là thay thế các điểm hệ thống chính và hệ thống phụ. Tôi tạo ra các điểm phối hợp thứ cấp bằng cách sử dụng origo khác nhau. Trong trường hợp thực tế mà tôi đang nghiên cứu chủ đề này sẽ có một số lỗi khi đo tọa độ.
primary_system1 = (40.0, 1160.0, 0.0) primary_system2 = (40.0, 40.0, 0.0) primary_system3 = (260.0, 40.0, 0.0) primary_system4 = (260.0, 1160.0, 0.0) secondary_system1 = (610.0, 560.0, 0.0) secondary_system2 = (610.0,-560.0, 0.0) secondary_system3 = (390.0, -560.0, 0.0) secondary_system4 = (390.0, 560.0, 0.0)
Lỗi tôi nhận được từ khi thực hiện được sau.
*Traceback (most recent call last):
File "affine_try.py", line 57, in <module>
secondary_system3, secondary_system4)
File "affine_try.py", line 22, in solve_affine
A2 = y * x.I
File "/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py", line 850, in getI
return asmatrix(func(self))
File "/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 445, in inv
return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
File "/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 328, in solve
raise LinAlgError, 'Singular matrix'
numpy.linalg.linalg.LinAlgError: Singular matrix*
Điều gì có thể là vấn đề?