Hướng dẫn python rotate 2d list - python xoay danh sách 2d
Đó là một chút thông minh. Show Đầu tiên, như đã lưu ý trong một bình luận, trong Python 3 4 trả về một trình lặp, vì vậy bạn cần phải gửi lại toàn bộ điều trong 5 để lấy lại danh sách thực tế, vì vậy vào năm 2020, thực tế, nó thực sự là:
Đây là sự cố:
Vì vậy, giả sử bạn có cái này:
Trước tiên, bạn nhận được điều này (bản sao nông cạn, đảo ngược):
Tiếp theo, mỗi người phụ được thông qua như một đối số cho 3:
4 nhiều lần tiêu thụ một mục từ đầu mỗi đối số của nó và tạo ra một bộ phận từ nó, cho đến khi không có thêm mục nào, dẫn đến (sau khi nó được chuyển đổi thành một danh sách):
Và Bob là chú của bạn. Để trả lời câu hỏi của @ikemiguel trong một nhận xét về việc xoay nó theo hướng khác, điều đó khá đơn giản: bạn chỉ cần đảo ngược cả hai chuỗi đi vào 3 và kết quả. Điều đầu tiên có thể đạt được bằng cách loại bỏ 6 và thứ hai có thể đạt được bằng cách ném 7 xung quanh toàn bộ. Vì 7 trả về một trình lặp qua danh sách, chúng ta sẽ cần đặt 5 xung quanh để chuyển đổi nó. Với một vài cuộc gọi 5 để chuyển đổi trình lặp thành một danh sách thực tế. Vì thế:
Chúng ta có thể đơn giản hóa điều đó một chút bằng cách sử dụng lát "Martian Smiley" chứ không phải là ____ 27 ... sau đó chúng ta không cần bên ngoài 5:
Tất nhiên, bạn cũng có thể chỉ cần xoay danh sách theo chiều kim đồng hồ ba lần. :-) Here is the counter clockwise matrix rotation as one line in pure python (i.e., without numpy): Nội dung chính
Như các bạn thấy thì cả bài này hầu như là một bài tổng hợp các cách xoay vector trong không gian hai chiều và ba chiều, do đó còn nhiều thiếu sót và không đầy đủ, mong các cao nhân có thể giúp đỡ thêm thắt lý thuyết công thức cho tác giả và người đọc hiểu thêm.
References
http://www.chrobotics.com/library/understanding-quaternions#:~:text=A quaternion is a four,for much more than rotations. 0https://www.kite.com/python/answers/how-to-rotate-a-3d-vector-about-an-axis-in-python#:~:text=Rotate a vector v about,with an identity matrix I . 1Lời mở đầuXoay vector trong không gian 2D Xoay vector trong không gian 2DXoay vector trong không gian 3D 2 3Xoay vector theo trục Euler angle 4If you want to do this in a function, then 5and either way, the result for 6is Xoay vector trong không gian 3DXoay vector theo trục Xoay vector theo trụcEuler angle
7Aside, if you want the usual transpose, then the simple one line pure python version is 8Euler angleIf you want to do this in a function, then and either way, the result for
9Công thức Euler–RodriguesĐịnh nghĩa: một phương pháp tính vị trí của rotated point. Một phép xoay quanh trục tọa độ gốc được biểu diễn bởi 4 param a, b, c, d Khi áp dụng công thức này, một điểm có tọa độ x sẽ xoay về một vị trí mới có tọa độ x' Code python: hàm rotation_matrix() trả về một ma trận xoay ngược chiều kim đồng hồ theo trục và góc. 0QuaternionsCũng như Euler-Rodrigues, quaternion là một vector có 4 phần tử dùng để tính vị trí của rotated point. Ta cũng có thể biến đổi Euler parameters a, b, c, d trên thành các hệ số của quaternion Một quaternion có thể tính như sau 1Xoay vector bởi quaternions bằng công thức Một vector xoay là tích của một quaternion với nghịch đảo của nó. Quaternion này lại là tích của unit vector với liên hợp của nó. q1: q2: Tích của 2 quaternions 2Sau khi có được rotated quaternions, áp dụng vào vector cần xoay sẽ sinh ra một vector mới. 3Lời kếtNhư các bạn thấy thì cả bài này hầu như là một bài tổng hợp các cách xoay vector trong không gian hai chiều và ba chiều, do đó còn nhiều thiếu sót và không đầy đủ, mong các cao nhân có thể giúp đỡ thêm thắt lý thuyết công thức cho tác giả và người đọc hiểu thêm. Referenceshttp://www.chrobotics.com/library/understanding-quaternions#:~:text=A quaternion is a four,for much more than rotations. https://www.kite.com/python/answers/how-to-rotate-a-3d-vector-about-an-axis-in-python#:~:text=Rotate a vector v about,with an identity matrix I . https://gist.github.com/LyleScott/e36e08bfb23b1f87af68c9051f985302 https://stackoverflow.com/questions/6802577/rotation-of-3d-vector https://stackoverflow.com/questions/17763655/rotation-of-a-point-in-3d-about-an-arbitrary-axis-using-python https://en.wikipedia.org/wiki/Rotation_matrix#Examples https://en.wikipedia.org/wiki/Euler–Rodrigues_formula |