1. Trang chủ
  2. » Công Nghệ Thông Tin

So sánh geometric algebra và ma trận trong thuật toán quay vật thể 3D

5 3 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Bài viết So sánh geometric algebra và ma trận trong thuật toán quay vật thể 3D giới thiệu phương pháp sử dụng Geometric Algebra nhằm thực hiện việc xử lý quay vật thể trong không gian 3 chiều. Với phương pháp sử dụng Geometric Algebra này, chúng ta chỉ cần 4 tham số. Nhờ đó giúp cho việc xử lý quay vật thể được chính xác và nhanh hơn.

TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 SO SÁNH GEOMETRIC ALGEBRA VÀ MA TRẬN TRONG THUẬT TOÁN QUAY VẬT THỂ 3D COMPARISONS BETWEEN GEOMETRIC ALGEBRA AND MATRIX IN 3D OBJECT ROTATION ALGORITHM Phạm Minh Tuấn Trường Đại học Bách khoa, Đại học Đà Nẵng Email: pmtuan@dut.udn.vn TĨM TẮT Quay vật thể khơng gian chiều (3D) kỹ thuật quan trọng lĩnh vực đồ họa máy tính (computer graphics).Kỹ thuật quay 3D ứng dụng rộng rãi xử lý ảnh, thiết kế vật thể 3D, hay xây dựng phim 3D…Những nghiên cứu cách quay vật thể trước thường sử dụng việc nhân ma trận Muốn quay vật theo trục không gian chiều cần ma trận 3x3 để xử lý Điều đồng nghĩa với việc cần tới 27 tham số trongphép quay.Dẫn tới việc dễ làm sai số xử lý địi hỏi độ xác cao.Bài báo giới thiệu phương pháp sử dụng Geometric Algebra nhằm thực việc xử lý quay vật thể không gian chiều.Với phương pháp sử dụng Geometric Algebra này, cần4 tham số.Nhờ giúp cho việc xử lý quay vật thể xác nhanh hơn.Thực nghiệm cho thấy kết phương pháp sử dụng Geometric Algebra tốt so với phương pháp trước Từ khóa: đồ họa máy tính; khơng gian chiều; quay; geometric algebra; quaternion; số phức ABSTRACT Object rotation in 3-dimensional space (3D) is one of the most useful techniques in the field of computer graphics 3D object rotation is now widely used in image processing such as in designing 3D objects or 3D construction The conventional rotation method is using the matrix multiplication To rotate an object around an axis in any 3-dimensional space we need three 3x3 matrices This means that we need 27 parameters In this way, it is easy to get wrong in the process of requiring high accuracy.This paper uses the Geometric Algebra to rotate 3D objects By using the Geometric Algebra, we only need parameters This method helps to rotate objects exactly and quickly Experimental results also show that the method using Geometric Algebra is better than the conventional method Key words: computer praphics; 3D; rotation; geometric algebra; quaternion; complex number Đặt vấn đề Hiện nay, kỹ thuật đồ họa máy tính [1,2] sử dụng rộng rãi nhiều lĩnh khác xử lý ảnh, thiết kế vật thể game 3D, hay xây dựng phim 3D Việc quay vật thể không gian kỹ thuật thiết yếu lĩnh vực đồ họa máy tính Nó giúp cho người biết hình dáng vật thể khơng gian 3D cách xác thơng qua hình máy tính Trong nghiên cứu trước đây, thơng thường quay vật quanh trục khơng gian 3D, người ta xử dụng ma trận 3x3 để thực phép quay.Điều đồng nghĩa cần phải có 27 tham số cho phép quay.Đối với xử lý địi hỏi độ xác cao, việc có nhiều tham số hay số lượng tính tốn 168 nhiều gây nên sai số không chấp nhận được.Nghiên cứu báo áp dụng Geometric algebra để thực phép quay giúp cho việc xử lý quay khơng gian 3D có độ xác cao Geometric algebra (GA) hay cịn gọi Clliford algebra, mơ hình tốn học phát triển từ kết hợp đại số hình học khơng gian [3,4,5] GA biểu diễn vectorhay mối liên kết chúng không gian 3D cách đơn giản xác Vì GA bắt đầu nhà nghiên cứu lĩnh vực cơng nghệ thơng tin quan tâm tới.Có nhiều ví dụ điển hình cho việc áp dụng thành cơng geometric algebra là:mơ hình xử lý tín hiệu, xử lý ảnh sử dụng không gian GA số phức [6,7,8] hay quaternions [9,10,11] Ta TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 thấy với kết hợp GA tạo phương pháp học máy hữu hiệu mơ hình GA-valued neural network [12] hay trích chọn đặc tính từ GA [13,14] biểu diễn dạng tích ma trận vector sau: 𝑥′ cos 𝜃 − sin 𝜃 𝑥 𝑌=[ ]=[ (2) ] [ ] 𝑦′ sin 𝜃 cos 𝜃 𝑦 Bài báo sử dụng phép quay GA để áp vào việc quay vật thể 3D lĩnh vực đồ họa máy tính.Khi cho vectorsđồng gốc thể tham số phép quay không gian 3D, báo chuyển đổi vectors thành vectors khơng gian GA tìm tích vector không gian GA Kết thu quaternion thể tham số phép quay sử dụng khơng gian GA Vì quaternion có tham số nên so với phép quay sử dụng ma trận quay với × × = 27tham số phép quay sử dụng GA xác Dễ dàng thấy khơng gian 2D ta cần × = 4tham số (phần tử) ma trận phép nhân để thực phép quay Bài báo gồm có phần.Phần trình bày vấn đề tốn phép quay.Phần báo giới thiệu nghiên cứu trước liên quan phép quay không gian Phần trình bày phương pháp quay sử dụng GA Phần trình bày đóng góp báo thực nghiệm để chứng minh ưu việt phương pháp sử dụng GA so với phương pháp quay sử dụng ma trận Phần kết luận nội dung kết đạt Phép quay khơng gian 3D kết hợp cách quay theo trục Ox, Oy, Oz không gian 0xyz Cũng việc quay không gian 2D, phép quay trục không gian 3D biểu diễn dạng tích ma trận vector sau: Quay quanh trục Ox góc 𝛼: 𝑥′ [𝑦 ′ ] = [0 cos 𝛼 sin 𝛼 𝑧′ = 𝑅𝑥 (𝛼)X 𝑥 − sin 𝛼 ] [𝑦] cos 𝛼 𝑧 (3) Quay quanh trục Oy góc𝛽: cos 𝛽 − sin 𝛽 𝑥 𝑥′ ] [𝑦] [𝑦 ′ ] = [ ′ sin 𝛽 cos 𝛽 𝑧 𝑧 = 𝑅𝑦 (𝛽)X (4) Quay quanh trục Oz góc𝛾: Phương pháp quay khơng gian Phương pháp quay không gian phép biến hình quan trọng đồ họa máy tính Có nhiều phép biến là: tịnh tiến, phóng to, thu nhỏ, quay, phản xạ, làm nghiên (skew)…Tuy nhiên phần báo trọng phân tích phép quay không gian chiểu (2D) chiều (3D) 2.1 Quay không gian 2D Khi quay điểm 𝑋 = (𝑥, 𝑦)ngược chiều kim đông hồ góc 𝜃 quanh điểm gốc 𝑂 = (0, 0) ta kết 𝑌 = (𝑥 ′ , 𝑦 ′ )thỏa mãn công thức sau: 𝑥 ′ = 𝑥 cos 𝜃 − 𝑦 sin 𝜃, { ′ 𝑦 = 𝑥 sin 𝜃 + 𝑦 cos 𝜃 2.2 Quay không gian 3D (1) Ở đây, giả sử ta biểu diễn điểm 𝑋 𝑥 dạng vector 𝑋 = [𝑦], phép quay cos 𝛾 𝑥′ [𝑦 ′ ] = [−sin 𝛾 𝑧′ (𝛾)X = 𝑅𝑧 sin 𝛾 cos 𝛾 0 𝑥 0] [𝑦] 𝑧 (5) Như vậy, để quay góc khơng gian 3D, ta biểu diễn dạng tích ma trận vector sau: 𝑥 𝑥′ (6) [𝑦 ′ ] = 𝑅𝑥 (𝛼)𝑅𝑦 (𝛽)𝑅𝑧 (𝛾) [𝑦] ′ 𝑧 𝑧 Ta thấy không gian 3D, ta cần × × = 27 tham số (phần tử) ma trận để thực phép quay Phương pháp quay sử dụng Geometric algerbra 3.1 Geometric algerbra Geometric algebra (GA) hay gọi Clliford algebra, mơ hình tốn học phát 169 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 triển từ kết hợp đại số hình học khơng gian [3,4,5] GA biểu diễn vector hay mối liên kết chúng không gian 3D cách đơn giản xác GA định nghĩa khơng gian cách định nghĩa tích của𝑝 + 𝑞 sở trực giao 𝒪= {e1 , ⋯ , e𝑝 , e𝑝+1 , ⋯ , e𝑝+𝑞 }trong không gian sau: e𝑖 e𝑗 = { −1 -e𝑗 e𝑖 𝑖 = 𝑗 ∈ {1, ⋯ , 𝑝} 𝑖 = 𝑗 ∈ {𝑝 + 1, ⋯ , 𝑝 + 𝑞} 𝑖≠𝑗 (7) Bài báo biểu diễn không gian định nghĩa 𝒪 𝒢𝑝,𝑞 Như không gian thực 𝑚 chiều ℛ 𝑚 biểu diễn 𝒢𝑚,0 mơ hình GA Từ định nghĩa GA, ta có tích hình học (geometric product) vectors {𝒂𝑙 = 𝑚 ∑𝑚 𝑖=1 𝑎𝑙𝑖 e𝑖 ; 𝑙 = 1,2}trong ℛ là: 𝑚 𝒂1 𝒂2 = ∑ 𝑎1𝑖 𝑎2𝑖 𝑚−1 𝑖=1 𝑚 + ∑ ∑ (𝑎1𝑖 𝑎2𝑗 − 𝑎2𝑖 𝑎1𝑗 )e𝑖 e𝑗 (10) Hình Phản xạ vector qua mặt phẳng Mặt khác, ta có𝒂∥ hình chiếu của 𝒂 lên vector 𝒎 nên: 𝒂∥ = (𝒂 ⋅ 𝒎)𝒎 (11) Suy ra, 𝒂⊥ = 𝒂 − (𝒂 ⋅ 𝒎)𝒎 (12) = (𝒂𝒎 − 𝒂 ⋅ 𝒎)𝒎 = (𝒂 ∧ 𝒎)𝒎 Từ ta có kết phép phản xạ ảnh sau: 𝒂′ = 𝒂⊥ − 𝒂∥ = (𝒂 ∧ 𝒎)𝒎 − (𝒂 ⋅ 𝒎)𝒎 = −(𝒎 ∧ 𝒂 + 𝒂 ⋅ 𝒎)𝒎 = −𝒎𝒂𝒎 (13) 3.3 Phép quay geometric algebra 𝑖=1 𝑗=𝑖+1 = 𝒂1 ∙ 𝒂2 + 𝒂1 ∧ 𝒂2 𝒂′ = 𝒂⊥ − 𝒂∥ (8) Tại đây, 𝒂1 ∙ 𝒂2 = ∑𝑚 𝑖=1 𝑎1𝑖 𝑎2𝑖 nội tích (inner product) hay cịn gọi tích vơ hướng.𝒂1 ∧ 𝒂2 = −𝒂2 ∧ 𝒂1 làngoại tích (outer product) vector𝒂1 𝒂2 Chú ý, ngoại tích khác với tích có hướng (cross product) mơ hình đại số tuyến tính Từ cơng thức trên, ta thấy tích hình học vector khơng gian tổng nội tích ngoại tích Quay vector theo trục quay khơng gian việc phản xạ vector qua mặt phẳng khơng gian Hình trình bày việc quay vector 𝒂 qua mặt phẳng có vector pháp tuyến 𝒎 và𝒏 Trong 𝒂′ phản xạ 𝒂 qua mặt phẳng có vector pháp tuyến 𝒎,𝒂′′là kết phép quay phản xạ 𝒂′qua mặt phẳng có vector pháp tuyến 𝒏 Dựa vào cơng thức tính phản xạ mơ hình tốn học GA, ta có: 𝒂′ = − 𝒎𝒂𝒎, 3.2 Phép phản xạ ảnh geometric algebra 𝒂′′ = − 𝒏𝒂′ 𝒏 = −𝒏(−𝒎𝒂𝒎)𝒏 = 𝒏𝒎𝒂𝒎𝒏 Xét tốn tìm ảnh phản xạ vector 𝒂qua (siêu) mặt phẳng ((hyper) plane) chứa tọa độ gốc có pháp tuyến vector 𝒎(|𝒎|2 = 1).Hình thể toán đặt Gọi 𝒂⊥ , 𝒂∥ 𝒂′lần lượt hình chiếu 𝒂 lên mặt phẳng, hình chiếu của 𝒂 lên vector 𝒎và ảnh phản xạ 𝒂qua mặt phẳng, ta có: Định nghĩa 𝑹 = 𝒏𝒎là rotor phép quay, ta có: ̃ 𝒂′′ = 𝑹𝒂𝑹 𝒂 = 𝒂⊥ + 𝒂∥ 170 (9) ̃ siêu số phức liên hợp 𝑹 Trong 𝑹 TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 rằng, hàm 𝑅𝑜𝑢𝑛𝑑(∙,∙) thể mức độ tính tốn xác hệ thống sử dụng phép quay 𝑅𝑜(∙)là hàm quay tính theo cách giới thiệu báo Bảng kết sai lệch độ dài cạnh tùy thuộc vào 𝑀 𝐸 sau quay tất đỉnh số đỉnh vật thể (𝑁 = 100) ma trận quay GA Biết đỉnh vật thể khởi tạo ngẫu nhiên cho tất phần tử đỉnh nằm khoảng [−1,1] Hình Phép quay không gian Nhận thấy 𝑹 gồm có tham số thực (nội tích của𝒏và𝒎) tham số ảo (ngoại tích 𝒏và𝒎) Như vậy, phép quay không gian 3D, ta cần tham số thực So với việc sử dụng ma trận quay (27 tham số) tiết kiệm nhớ nhiều phép tính đơn giản Đối với trường hợp đặc biệt khơng gian 3D ta có, 𝑹chính quaternion hàm số hóa cơng cụ xử lý 3D DirectX hay OpenGL.Tuy nhiên, phép quay trình bày báo không giới hạn khơng gian 3D mà thực khơng gian với số chiều Khảo sát đánh giá kết Phần so sánh mức độ xử lý xác cách quay, quay ma trận quay phương pháp sử dụng GA.Giả sử có vật thể chứa 𝑁 đỉnh khơng gian 3D Sau thực 𝑀 lần quay ngẫu nhiên, ta so sánh tất chiều dài cạnh tương ứng với đoạn thẳng nối cặp đỉnh vật thể sau quay vật thể ban đầu.Ta có cơng thức để tính độ sai lệch độ dài cạnh sau (0) (𝑀) 𝑁 𝐿 = 𝑁(𝑁−1) ∑𝑁−1 𝑖=1 ∑𝑗=𝑖+1 |𝑑𝑖𝑗 − 𝑑𝑖𝑗 | (14) (𝑡) (𝑡) Bảng So sánh độ sai lệch chiều dài cạnh vật thể lúc ban đầu sau 𝑀 lần quay theo phương pháp, quay ma trận quay geometric algebra 𝐸 𝑀 Ma trận 100 5.3(±1.9) × 10−9 𝟑 𝟑(±𝟎 𝟏𝟔) × 10−9 500 1.1(±0.4) × 10−8 𝟎 𝟕(±𝟎 𝟎𝟑) × 10−8 100 5.3(±2.0) × 10−7 𝟑 𝟑(±𝟎 𝟏𝟓) × 10−7 500 1.1(±0.4) × 10−6 𝟎 𝟕(±𝟎 𝟎𝟒) × 10−6 100 4.9(±1.4) × 10−5 𝟑 𝟑(±𝟎 𝟏𝟓) × 10−5 500 1.1(±0.4) × 10−4 𝟎 𝟕(±𝟎 𝟎𝟑) × 10−4 Từ Bảng ta thấy, số lần quay lớn độ tính tốn xác hệ thống thấp mức độ sai lệch độ dài cạnh hai phương pháp quay tăng Tuy nhiên so với quay phương pháp ma trận phương pháp GA có mức độ sai lệch hơn.Hình kết trường hợp đặc biệt 𝑀 = 500 𝐸 = Ta thấy mức độ sai lệch phương pháp quay GA ổn định Điều kết luận sử dụng phương pháp quay GA tốt phương pháp sử dụng ma trận Ma trận (𝑡) Trong đó, 𝑑𝑖𝑗 = ‖𝒙𝑖 − 𝒙𝑗 ‖là chiều (𝑡) dài đoạn thẳng nối đỉnh 𝒙𝑖 (𝑡) 𝒙𝑗 vật thể sau quay ngẫu nhiên 𝑡 lần.Và đỉnh (𝑡) 𝒙𝑖 , 𝑖 sau: = 1, ⋯ , 𝑁 tính tốn theo công thức (𝑡) 𝒙𝑖 (𝑡−1) = 𝑅𝑜𝑢𝑛𝑑 (𝑅𝑜 (𝒙𝑖 ) , 𝐸) (15) Ở đây,𝑅𝑜𝑢𝑛𝑑(∙, 𝐸) hàm số làm tròn tất thành phần vec tơ lấy kết 𝐸 chữ số sau dấu phẩy thập phân Ta có ngầm thể hiểu GA GA 2,E-6 1,E-6 5,E-7 0,E+0 101 201 301 401 Hình Độ sai lệch chiều dài trường hợp M=500 E=7 171 TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 10(71).2013 Kết luận Bài báo trình bày phương pháp quay không gian 3D phép quay sử dụng nhân ma trận phép quay sử dụng mơ hình tốn học GA Bài báo cho thấy phép quay 3D mơ hình GA phép quay sử dụng quatornion hàm số hóa cơng cụ xử lý 3D DirectX hay OpenGL Tuy nhiên không giới hạn số chiều quatornion sử dụng chiều.Qua khảo sát với việc quay ngẫu nhiên vật thể không gian 3D báo kết luận việc sử dụng GA để quay vật thể có độ xác hẳn so với phương pháp quay ma trận TÀI LIỆU THAM KHẢO [1] James D Foley,Andries van Dam, Steven K Feiner,JohnF Hughes, Computer graphics: principles and practice (2nd ed.), Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1990 [2] Eberly, D H 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics, Morgan Kaufmann Publishers 2001 [3] C Doran and A Lasenby, Geometric algebra for physicists, Cambridge University Press, 2003 [4] D Hestenes, New foundations for classical mechanics, Dordrecht, 1986 [5] L Dorst, D Fontijne, and S Mann, Geometric Algebra for Computer Science: An Objectoriented Approach to Geometry (Morgan Kaufmann Series in Computer Graphics), 2007 [6] I Sekita, T Kurita, and N Otsu, Complex Autoregressive Model for Shape Recognition, IEEE Trans on Pattern Analysis and Machine Intelligence, Vol 14, No 4, 1992 [7] A Hirose, Complex-Valued Neural Networks: Theories and Applications, Series on Innovative Intelligence, Vol 5, 2006 [8] T Nitta, An Extension of the Back-Propagation Algorithm to Complex Numbers, Neural Networks, Volume 10, Number 8, pp 1391–1415(25), November 1997 [9] N Matsui, T Isokawa, H Kusamichi, F Peper, and H Nishimura, Quaternion neural network with geometrical operators, Journal of Intelligent and Fuzzy Systems, Volume 15, Numbers 3–4, pp 149–164, 2004 [10] S Buchholz and N Le Bihan, Optimal separation of polarized signals by quaternionic neural networks, 14th European Signal Processing Conference, EUSIPCO 2006, September 4–8, Florence, Italy, 2006 [11] E Hitzer, Quaternion Fourier Transform on Quaternion Fields and Generalizations, Advances in Applied Clifford Algebras, 17(3), pp 497– 517 (2007) [12] G Sommer, Geometric Computing with Clifford Algebras, Springer, 2001 [13] M T Pham, K Tachibana, E Hitzer, T Yoshikawa, T Furuhashi, Classification and Clustering of Spatial Patterns with Geometric Algebra, in G Scheuermann, E Bayro-Corrochano (eds.), Geometric Algebra Computing, Springer, New York, pp 231–248, 2010 [14] M.T Pham, K Tachibana, E Hitzer, S Buchholz, T Yoshikawa, T Furuhashi, Feature Extractions with Geometric Algebra for Classification of Objects, Proceedings of IEEE World Congress on Computational Intelligence - International Joint Conference on Neural Networks (IJCNN 2008), Hong Kong, 1-6 June 2008, pp 4069–4073, 2008 (BBT nhận bài: 30/07/2013, phản biện xong: 30/07/2013) 172 ... trận quay phương pháp sử dụng GA.Giả sử có vật thể chứa

Ngày đăng: 30/09/2022, 16:06

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Từ định nghĩa của GA, ta có tích hình học (geometric  product)  của  2  vectors  { - So sánh geometric algebra và ma trận trong thuật toán quay vật thể 3D
nh nghĩa của GA, ta có tích hình học (geometric product) của 2 vectors { (Trang 3)
Bảng 1 là kết quả sai lệch độ dài của các cạnh  tùy  thuộc  vào  - So sánh geometric algebra và ma trận trong thuật toán quay vật thể 3D
Bảng 1 là kết quả sai lệch độ dài của các cạnh tùy thuộc vào (Trang 4)
Hình 2. Phép quay trong không gian - So sánh geometric algebra và ma trận trong thuật toán quay vật thể 3D
Hình 2. Phép quay trong không gian (Trang 4)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN