ViewingTransf.pdf

10 463 0
ViewingTransf.pdf

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

Thông tin tài liệu

Đồ họa máy tính

ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 1/10VVVVVVVVIIIIIIIIEEEEEEEEWWWWWWWWIIIIIIIINNNNNNNNGGGGGGGGTTTTTTTTRRRRRRRRAAAAAAAANNNNNNNNSSSSSSSSFFFFFFFFOOOOOOOORRRRRRRRMMMMMMMMAAAAAAAATTTTTTTTIIIIIIIIOOOOOOOONNNNNNNNSSSSSSSSDDaẫãnnnnhhaậäpp• Sau công đoạn modeling transformation, tất cả các đốitượng được đặt trong cùng một hệ tọa độ chung (worldcoordinates).• Bỏ qua công đoạn trivial rejection và illumination, chúngta sẽ xem xét công đoạn biến đổi vào không gian quansát (view transformation). Mục đích của công đoạn nàylà chuyển đổi các đối tượng vào hệ tọa độ quan sát (eyecoordinates hay 3D camera coordinates) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 2/10QQuuiittrrììnnhhhhiieểånntthhòòCCaammeerraa• Các tham số của Camera♦Vò trí mắt nhìn (x, y, z)♦Hướng nhìn (towards vector, up vector)♦Vùng quan sát ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 3/10CCaammeerraaTTrraannssffoorrmmaattiioonn• Trong cảnh trên, gốc tọa độ của world space đặt ngaydưới đáy ghế, trục z hướng lên đi qua tâm của bình trà.Để thuận tiện, trục x và y được chọn song song với cácbức tường (chú ý các viên gạch trên nền nhà). Với hệtọa độ này, ghế và bình trà rất dễ dàng biểu diễn.• Bước tiếp theo, ta cần mô tả ảnh của mô hình ta đangmong muốn diễn tả. Công việc này sẽ dễ dàng hơnnhiều nếu gốc tọa độ trùng với vò trí quan sát (vò trí củamắt hay camera). (Xem hình bên dưới) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 4/10• Ta có thể đạt được điều này nhờ vào các phép biến đổitònh tiến và quay (rigid body transformations). Trướctiên, ta cần thực hiện phép quay để cho 2 trục tọa độ(world và camera) cùng phương.• Sau đó, ta thực hiện phép tònh tiến để đưa gốc tọa độcủa world space về trùng với gốc tọa độ của eye space.• Tại sao ta lại quay trước rồi mới tònh tiến ? Ta cóthể thực hiện theo một cách khác không ?• Cách tiếp cận vừa trình bày không được trực quan và sẽgây không ít khó khăn khi ta muốn giao tiếp với ngườidùng trong một hệ xử lý đồ họa 3 chiều. Ta thử tiếp cậntheo một cách khác. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 5/10• Thay cho việc xác đònh một hệ tọa độ quan sát mongmuốn bằng 1 phép quay và 1 phép tònh tiến hệ tọa độthực ta có thể sử dụng phương pháp sau:NNeewwCCaammeerraaTTrraannssffoorrmmaattiioonn• Trước tiên, ta xác đònh vò trí đặt camera (hoặc vò tríquan sát) trong không gian thực. Ta gọi nó là vò trí mắt(eye point). Sau đó, ta xác đònh một vò trí trong cảnh(scene) mà ta muốn nó sẽ xuất hiện ở trung tâm của cửasổ nhìn. Ta gọi điểm này là điểm nhìn (look-at point).Tiếp theo ta xác đònh 1 vector dùng để chỉ hướng đi lêncủa ảnh tính từ look-at point. Ta gọi nó là vectorhướng lên (up-vector).• Cách biểu diễn trên rất tự nhiên. Ta có thể sử dụngcách biểu diễn này để mô tả một q đạo của camerabằng cách chỉ thay đổi eye-point còn look-at point và up-vector không đổi. Hoặc ta có thể quét camera từ đốitượng này đến đối tượng khác trên ảnh bằng cách chỉthay đổi look-at point. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 6/10• Bây giờ chúng ta sẽ xem xét, với mô tả trên, ta sẽ xâydựng được phép biến đổi từ hệ tọa độ thực sang hệ tọộ quan sát như thế nào.• Trước tiên, ta sẽ xác đònh phần quay của cameratransfromation (V).• Ta có thể xác đònh vector l có phương trùng với tia nhìntheo công thức:ùêêêëé−úúúùêêêëé=úúúùêêêëézyxzyxzyxeyeeyeeyelookatlookatlookatlll• Chuẩn hóa vector l ta được vector l0:2z2y2x0lllll++=H• Ta có thể dễ dàng thấy rằng, phép biến đổi V mà tang xây dựng sẽ chuyển l0thành vector [0, 0, -1] (Tạisao ?).[]Vl1000=−• Ta còn có thể xác đònh một vector khác. Đó là vector rlà tích hữu hướng của vector l và up-vector:uplr ×=HH ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 7/10• Sau phép biến đổi V, ro(vector r đã được chuẩn hóa) sẽbiến thành vector [1, 0, 0].[]Vr010H=0trong đó2z2y2x0rrrrr++=H• Cuối cùng, ta có thể xác đònh vector cơ sở thứ 3, vector uvuông góc với 2 vector r và l:lruHH×=• Vector này, sau khi được chuẩn hóa (thành vector u0), sẽbò biến thành vector [0, 1, 0] bởi V.[]Vu0H=010[]Vuuuu2z2y2x++=H010• Tổng hợp các kết quả trên ta được:Vlur100010001000úúúùêêêëé−=úúúùêêêëéHHH ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 8/10• Chú ý rằng các vector mà chúng ta đã tạo ra đều cóchiều dài là 1 (nghóa là chúng đều đã được chuẩn hóa)và chúng trực giao nhau đôi một. Như vậy, ma trận tạobởi 3 vector này là ma trận trực chuẩn (orthonormal).Tính chất lý thú của các ma trận loại này là:V-1= VTnếu V là ma trận trực chuẩn• Lợi dụng tính chất trên, ta có thể dễ dàng tính toánđược thành phần quay của phép biến đổi:[]úúúùêêêëé−−−=−=0z0z0z0y0y0y0x0x0x000rotatelurlurlurlurV• Tiếp theo, ta tính phần tònh tiến của viewingtransformation. Để làm được điều này, trưóc tiên ta cầnnhớ rằng phép quay chúng ta vừa xác đònh có tâm quaylà gốc tọa độ, trong khi ta lại muốn phép quay xảy ra ởđiểm quan sát (eye point). Ta có thể thực hiện phépquay với tâm quay đúng bằng cách trừ vào tọa độ củiểm đang xét trong không gian thực tọa độ của điểmquan sát. Ta có phương trình ([x’,y’,z’] là điểm ảnh tươngứng trong không gian quan sát):[][]'zy'x'l-url-url-ureye-zeye-yeye-xzzzyyyxxxzyx=ùêêêëé ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 9/10• Phương trình trên có thể được viết lại như sau:[][][]úúúùêêêëé−úúúùêêêëé=zzzyyyxxxzyxzzzyyyxxxl-url-url-ureyeeyeeyel-url-url-urzyx'zy'x'• Cuối cùng, ta có thể chuyển phép biến đổi sang dạngbiểu diễn trong hệ tọa độ thuần nhất. Đó chính là côngthức cuối cùng của V:[][]ùêêêêëé−−−−−=1.eyel.eyeu.eyer0lur0lur0lur1zyx1z'y'x'000zzzyyyxxx• Như vậy, ta có mối quan hệ giữa hệ toán độ quan sát vàhệ toạ độ thế giới thực như sau: ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Viewing transformation 10/10 . đổi:[]úúúùêêêëé−−−=−=0z0z0z0y0y0y0x0x0x000rotatelurlurlurlurV• Tiếp theo, ta tính phần tònh tiến của viewingtransformation. Để làm được điều này, trưóc tiên ta cầnnhớ rằng phép

Ngày đăng: 05/09/2012, 15:51

Hình ảnh liên quan

• Bước tiếp theo, ta cần mô tả ảnh của mô hình ta đang mong muốn diễn tả. Công việc này sẽ dễ dàng hơn nhiều nếu gốc tọa độ trùng với vị trí quan sát (vị trí của mắt hay camera) - ViewingTransf.pdf

c.

tiếp theo, ta cần mô tả ảnh của mô hình ta đang mong muốn diễn tả. Công việc này sẽ dễ dàng hơn nhiều nếu gốc tọa độ trùng với vị trí quan sát (vị trí của mắt hay camera) Xem tại trang 3 của tài liệu.
Ca am me er ra aT Tr ra an ns sf fo or rm ma at ti io on n - ViewingTransf.pdf

a.

am me er ra aT Tr ra an ns sf fo or rm ma at ti io on n Xem tại trang 3 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan