Bài giảng Công nghệ đồ họa và hiện thực ảo - Bài 5: Các phép biến đổi mô hình cung cấp cho người học các kiến thức: Tổng quan, các phép biến đổi hình học hai chiều, ma trận đồng nhất, các phép biến đổi hình học ba chiều
Bài CÁC PHÉP BIẾN ĐỔI MƠ HÌNH Trịnh Thành Trung trungtt@soict.hust.edu.vn NỘI DUNG Tổng quan Các phép biến đổi hình học hai chiều Ma trận đồng Các phép biến đổi hình học ba chiều - TỔNG QUAN - Tổng quan TỌA ĐỘ MƠ HÌNH BIẾN ĐỔI MƠ HÌNH TỌA ĐỘ THỰC BIẾN ĐỔI HÌNH CHIẾU BIẾN ĐỔI GĨC NHÌN TỌA ĐỘ HIỂN THỊ TỌA ĐỘ HÌNH CHIẾU Tổng quan • Biến đổi mơ hình (Modeling Transformation) Tổng quan • Biến đổi góc nhìn (Viewing Transformation) Tổng quan • Biến đổi hình chiếu (Projection Transformation) Định nghĩa • Các phép biến đổi (Transformation) Là phép ánh xạ tọa độ điểm hay vector thành tọa độ hay vector khác Phép biến đổi Affine • Phép biến đổi Affine phép biến đổi tọa độ điểm đặc trưng đối tượng thành tập tương ứng điểm để tạo hiệu ứng cho toàn đối tượng – Ví dụ: phép biến đổi tọa độ với điểm đầu cuối đoạn thẳng tạo thành điểm mà nối chúng với tạo thành đoạn thẳng – Các điểm nằm đoạn thẳng có kết điểm nằm đoạn thẳng với phép biến đổi thông qua phép nội suy Phép biến đổi Affine Các thuộc tính • Bảo toàn đoạn thẳng – Các đoạn thẳng bảo tồn, ánh xạ đoạn thẳng đoạn thẳng – Đơn giản hóa q trình vẽ đoạn thẳng Chúng ta cần xác định ánh xạ hai điểm đầu cuối đoạn thẳng vẽ đường thẳng nối hai điểm lại – Bảo đảm thẳng hàng, đa giác biến đổi thành đa giác 10 TỌA ĐỘ ĐỒNG NHẤT • Ðưa nhìn hợp phép biến đổi phép nhân ma trận, hỗ trợ cho việc xử lý phần cứng phần mềm • Cho phép kết hợp với phép biến đổi đặc biệt khơng tuyến tính khác (non-affine) như: – Phép chiếu phối cảnh (Perspective projections) – Uốn (bends), vuốt (tapers) - Tọa độ đồng • Kết hợp các phép biến đổi tạo thành ma trận tích đơn giản Tránh nhầm lẫn thứ tự phép nhân sử dụng – Chú ý nhân ma trận: AB cho kết khác BA – Ví dụ: Scale → Translate Translate → Scale Ma trận đồng • Ma trận biến đổi đồng a b 0 [T ] c d 0 m n 1 PHÉP TỊNH TIẾN • Ma trận đồng 0 [T ] 0 m n 1 [ x' y ' 1] [ x 0 y 1] 0 [ x m m n 1 y n 1] - PHÉP TỈ LỆ • Ma trận đồng S1 0 [T ] S 0 0 1 [ x' y ' 1] [ x S1 0 y 1] S 0 [ x.S1 y.S 1] 0 1 - PHÉP XOAY • Ma trận đồng cos [T ] sin [ x' y ' 1] [ x sin cos cos y 1] sin [ x cos y sin 0 0 1 sin 0 0 1 cos x sin y cos 1] - CÁC PHÉP BIẾN ĐỔI CHIỀU - BIẾN ĐỔI TRONG KHƠNG GIAN BA CHIỀU • Biểu diễn điểm không gian chiều – [ x* y* z* h ] = [ x y z ] [ T ] – [x' y' z' ]= [ x*/h y*/h z*/h ][ T] • Ma trận biến đổi a c p d f q [T ] g i j r l m n s b e - PHÉP TỊNH TIẾN • Ma trận đồng 1 0 0 [T ] 0 dx dy dz 0 0 0 1 - PHÉP TỈ LỆ • Ma trận đồng S x 0 [T ] 0 0 0 Sy 0 Sz 0 0 0 0 1 - PHÉP BIẾN DẠNG • Ma trận đồng 1 b d [T ] g i 0 c f 0 0 0 1 [ x' y ' z ' 1] [ x yd gz bx y iz cx fy z 1] - Phép xoay • Trong 2D, phép xoay thực xung quanh gốc tọa độ • Trong 3D, đối tượng xoay theo trục: trục x, trục y, trục z • Xoay theo chiều dương ngược chiều kim đồng hồ xoay theo chiều âm theo chiều kim đồng hồ y y y x x x z z z «Mọi phép xoay xung quanh gốc tọa độ chia thành phép quay quanh trục x, sau quay quanh trục y sau quay quanh trục z» – Định lý Euler PHÉP XOAY • Ma trận đồng – Theo trục x 1 0 cos [Tx] 0 sin 0 0 sin 0 cos 0 1 - PHÉP XOAY – Theo trục y cos [Ty] sin 0 sin 0 cos 0 0 0 0 1 – Theo trục z cos sin [Tz] sin cos 0 0 0 0 1 - Phép xoay – Theo trục (ux, uy, uz) với • c = cos θ • s = sin θ ... Các phép biến đổi hình học hai chiều Ma trận đồng Các phép biến đổi hình học ba chiều - TỔNG QUAN - Tổng quan TỌA ĐỘ MƠ HÌNH BIẾN ĐỔI MƠ HÌNH TỌA ĐỘ THỰC BIẾN ĐỔI HÌNH CHIẾU BIẾN ĐỔI GĨC NHÌN TỌA... tổng hợp • Phép xoay quanh điểm gốc (pivotal point) • Thực phép tịnh tiến tất điểm theo vector (-xc,-yc) • Xoay quanh gốc trục tọa độ • Thực phép tịnh tiến tất điểm vị trí ban đầu theo vector... thực phép biến đổi tuyến tính, sau phép tịnh tiến – Tuy nhiên, phép tịnh tiến thực phép cộng thay phép nhân ma trận – Cần tìm cách thực phép biến đổi cách cần nhân ma trận lại với HỆ TỌA ĐỘ ĐỒNG