Cách tạo ma trận 4x4 trong Python
Nếu bạn muốn sử dụng chuyển đổi này trong RenderMan, hãy nhớ rằng máy ảnh RenderMan đang nhìn theo hướng z dương trong khi máy ảnh OpenGL đang nhìn theo hướng tiêu cực Show
Tương tự, phương thức này trả về một phép biến đổi phối cảnh, điểm khác biệt duy nhất là ý nghĩa của các tham số đầu vào. Phương thức này tương đương với lệnh OpenGL gluPerspective() . — Đây là một phương thức tĩnh. chính tả (trái, phải, dưới, trên, gần, xa)Trả về ma trận đại diện cho phép biến đổi chính tả. Phương thức này tương đương với lệnh OpenGL glOrtho() . — Đây là một phương thức tĩnh. lookAt(pos, target, up=(0, 0, 1))Trả về một phép biến đổi di chuyển hệ tọa độ đến vị trí vị trí và xoay nó sao cho trục z hướng vào mục tiêu điểm. Trục y hướng càng sát càng tốt vào cùng hướng với hướng lên. Tất cả ba tham số phải là một chuỗi 3 Bạn có thể sử dụng chuyển đổi này để định vị các đối tượng trong cảnh phải được định hướng tới một điểm cụ thể. Hoặc bạn có thể sử dụng nó để định vị camera trong thế giới ảo. Trong trường hợp này, bạn phải thực hiện nghịch đảo của phép biến đổi này dưới dạng phép biến đổi chế độ xem (để chuyển đổi tọa độ không gian thế giới thành tọa độ không gian camera) Đây là một phương pháp tĩnh chỉnh hình ()Trả về một ma trận với các vectơ cơ sở trực giao. Trục x, y và z được tạo trực giao. Cột và hàng thứ tư không bị ảnh hưởng Trong thế giới lập trình, ma trận được biểu diễn dưới dạng mảng 2 chiều được sử dụng để biểu diễn dữ liệu theo hàng và cột. Chúng được sử dụng trong các hoạt động toán học và thống kê khác nhau và chúng giữ nguyên hình dạng của chúng. Ma trận có số hàng và số cột bằng nhau được gọi là ma trận vuông Để tạo ma trận trong Python, chúng ta có thể sử dụng mảng hoặc danh sách Sử dụng danh sách để tạo ma trận trong PythonMột danh sách cũng lưu trữ một tập hợp các phần tử tại các vị trí cụ thể. Một danh sách có thể lưu trữ các phần tử thuộc các loại khác nhau trong một danh sách và các phép toán không thể được áp dụng trực tiếp vào danh sách Chúng ta có thể sử dụng nó để tạo ma trận trong Python Sử dụng danh sách lồng nhau để tạo ma trậnDanh sách lồng nhau là danh sách trong danh sách và có thể được sử dụng để tạo ma trận trong Python Một ví dụ rất đơn giản được hiển thị dưới đây 1 2 3 4 5
m = [[4,1,2],[7,5,3],[9,6,9]] cho i trong m. in(i)
đầu ra đầu ra 1 2 3 4 5
[ 4 , 1 , 2 ] [ 7 , 5 , 3 ] [ 9 , 6 , 9 ]
Trong ví dụ trên, chúng tôi đã tạo một danh sách lồng nhau đơn giản đại diện cho một ma trận Lưu ý rằng chúng tôi không in trực tiếp danh sách. Điều này được thực hiện bởi vì điều đó sẽ in danh sách trong một dòng. Đó là lý do tại sao chúng tôi lặp qua từng hàng riêng lẻ. Chúng ta cũng có thể làm điều này rõ ràng hơn với hàm Xem mã dưới đây 1 2 3 4 5
m = [[4,1,2],[7,5,3],[9,6,9]] cho i trong m. in(' '. tham gia(str(i)))
đầu ra đầu ra 1 2 3 4 5
[ 4 , 1 , 2 ] [ 7 , 5 , 3 ] [ 9 , 6 , 9 ]
Sự khác biệt trong việc sử dụng phương thức này để in ma trận là nó nối các phần tử của một hàng thành một chuỗi trước khi in nó. đọc thêmKhởi tạo ma trận trong PythonĐọc thêm → In ma trận bằng PythonĐọc thêm → Sử dụng vòng lặp for để tạo ma trậnChúng ta có thể sử dụng vòng lặp Ví dụ, 1 2 3 4 5
m = [[4,8,9] for i in range(3)] cho i trong m. in(' '. tham gia(str(i)))
đầu ra đầu ra 1 2 3 4 5
[ 4 , 8 , 9 ] [ 4 , 8 , 9 ] [ 4 , 8 , 9 ]
Phương pháp này lấy một danh sách duy nhất và thay đổi nó thành một ma trận có hình dạng được yêu cầu Có một cách khác để sử dụng vòng lặp Ví dụ, 1 2 3 4 5 6 7 8 9 10 11
lst = [] m = [] cho i trong phạm vi(0,3): cho j trong phạm vi(0,3): ls. chắp thêm(0) < m. nối(lst) < lst = [] cho i trong m. in(' '. tham gia(str(i)))
đầu ra đầu ra 1 2 3 4 5
[ 0 , 0 , 0 ] [ 0 , 0 , 0 ] [ 0 , 0 , 0 ]
Trong ví dụ trên,
Phương pháp này rất thuận tiện nếu chúng tôi muốn lấy đầu vào từ người dùng cho mọi phần tử trong danh sách. Đối với điều này, chúng ta chỉ cần yêu cầu đầu vào trong vòng lặp bên trong trước khi thêm phần tử vào danh sách Danh sách cuối cùng được thảo luận trong các ví dụ trên có thể được chuyển đổi trực tiếp thành một mảng Sử dụng mảng numpy để tạo ma trận trong PythonMảng Hãy để chúng tôi thảo luận về các phương pháp khác nhau để tạo ma trận trong Python bằng cách sử dụng mảng Sử dụng hàm join()1 để tạo ma trận trong PythonChúng ta có thể tạo một mảng 2-D Ví dụ, 1 2 3 4 5 6
nhập numpy as np m = np. mảng([[4,1,2],[7,5,3],[9,6,9]]) in("Ma trận. \n", m) in("Kích thước. \n", m. hình dạng)
đầu ra đầu ra 1 2 3 4 5 6 7 8
Ma trận. [[4 1 2] [7 5 3] [9 6 9]] Kích thước. (3, 3)
Trong ví dụ trên, chúng tôi đã tạo một ma trận đơn giản bằng Python. Chúng tôi đã xác minh điều này bằng cách hiển thị hình dạng của ma trận, cho thấy đó là mảng 2 chiều có 3 cột và 3 hàng Sử dụng hàm join()2 để tạo ma trận trong PythonHàm Ví dụ, 1 2 3 4 5 6
nhập numpy as np m = np. ma trận([[4,1,2],[7,5,3],[9,6,9]]) in("Ma trận. \n", m) in("Kích thước. \n", m. hình dạng)
đầu ra đầu ra 1 2 3 4 5 6 7 8
Ma trận. [[4 1 2] [7 5 3] [9 6 9]] Kích thước. (3, 3)
Sử dụng hàm for3 để tạo ma trận trong Python
Xem mã dưới đây 1 2 3 4 5 6
nhập numpy as np m = np. mảng([[4 . ,1,2,7,5,3,9,6,9]]).định hình lại(3,3) in("Ma trận. \n", m) in("Kích thước. \n", m. hình dạng)
đầu ra đầu ra 1 2 3 4 5 6 7 8
Ma trận. [[4 1 2] [7 5 3] [9 6 9]] Kích thước. (3, 3)
Hãy để chúng tôi thảo luận về những gì đã xảy ra trong ví dụ trên
Lưu ý rằng chúng ta phải cẩn thận về số lượng phần tử trong một mảng trước khi thay đổi hình dạng của nó. Vì một ma trận có hình dạng Sử dụng hàm for8 để tạo ma trận trong PythonChúng ta có thể sử dụng hàm Mảng 4d NumPy là gì?Mảng 4d numpy là một mảng được lồng sâu 4 lớp , vì vậy, ở mức cao nhất, nó sẽ trông như thế này. [ # Mảng cấp 1 (Bên ngoài) [ # Mảng cấp 2 [[1, 2], [3, 4]], # Mảng cấp 3, chứa 2 mảng cấp 4 [[5, 6], [7, 8]]
Làm cách nào để tạo mảng trong Python?Trong Python, bạn có thể tạo kiểu dữ liệu mới, được gọi là mảng bằng cách sử dụng gói NumPy. Mảng NumPy được tối ưu hóa cho các phân tích số và chỉ chứa một loại dữ liệu duy nhất. Trước tiên, bạn nhập NumPy rồi sử dụng hàm array() để tạo một mảng . Hàm array() lấy một danh sách làm đầu vào. |