Không gian 3D

Một phần của tài liệu Beginning DirectX 9 doc (Trang 58 - 60)

■ Hệ thống toạđộ là gì.

■ Cách dựng những điểm của một đa giác.

■ Khái niệm vecto trong Direct3D.

■ Vertex buffer là gì.

■ Khái niệm khung cảnh 3D (3D scene) .

■ Những cấu trúc cơ bản bạn có thể sử dụng.

Không gian 3D

Phần trước, tôi đã nói về những game chỉ cho phép di chuyển theo 2 phương, tức là trong không gian phẳng. Khái niệm (sprites) mà bạn dùng ở trên chủ yếu là cho không gian với chiều rộng và chiều cao nhưng không có chiều sâu.

DIrect3D cho bạn khả năng đưa thêm một chiều không gian nữa vào thế giới game với sự

bổ sung của chiều sâu. Chiều sâu là khả năng của vật thể có thể di chuyển ra xa hoặc lại gần người quan sát. Nhân vật ở trong thế giới 3D sẽ thật hơn nhiều bản sao của chúng trong không gian 2D.

Không gian 3D cho phép nhân vật di chuyển vòng quanh theo cách tương tự như thế giới thực. Trước khi bạn tận dụng được lợi thế của không gian 3D, bạn cần biết cách xây dựng nó, và cách đặt các vật thể vào đó.

Hệ thống toạđộ

Hệ thống toạ độ là cách để định nghĩa điểm trong không gian. Nó bao gồm các đường thẳng vuông góc với nhau gọi là các trục toạđộ. Hệ toạđộ 2D chỉ gồm 2 trục toạđộ, còn C

hệ 3D thì có thêm một trục nữa. Tâm điểm của hệ toạ độ, nơi mà các trục toạ độ giao nhau, được gọi là gốc toạđộ. Hình 4.1 biểu hiện hệ trục toạđộ 2D. Hai trục của hệ toạđộ

2D được kí hiệu là X và Y. X là trục nằm ngang, còn Y là trục thẳng đứng.

Xác định một điểm trong không gian 2D

Một điểm được xác định như một vị trí duy nhất trên một trục. Một điểm ở trong không gian 1D, (chỉ có duy nhất một trục), có thểđược biểu diễn qua một giá trị. Hình 4.2 biểu diễn điểm trong không gian 1D. Gốc của đường thẳng có giá trị là 0. Hướng sang bên phải của gốc toạđộ là các giá trị dương, ngược lại, ở bên trái gốc toạđộ là các giá trị âm. Trong hình 4.2, điểm biểu diễn có giá trị là dương 4.

Hình 4.1 Hình 4.2

Hệ toạ độ 2D, vì nó có 2 trục toạ độ, nên đòi hỏi thêm một giá trị nữa để biểu diễn một

điểm. Để biểu diễn một điểm trong không gian 2D, bạn cần xác định vị trí dọc theo trục X và Y của nó. Ví dụ, một điểm trong hệ toạđộ 2D có thểđược xác định bằng 2 số là X và Y, mỗi số xác định một vị trí trên trục tương ứng. Giống như ví dụ 1D ở hình 4.2, những giá trị trên trục X tăng dần từ trái qua phải, nhưng những giá trị trên trục Y lại tăng dần từ

dưới lên trên. Hình 4.3 cho thấy hệ toạđộ 2D với một điểm có toạđộ X=3 và Y=5, người ta thường viết dưới dạng (X, Y). Trong ví dụ này điểm đó được biểu diễn là (3, 5).

Xác định 1 điểm trong không gian 3D

Như đã đề cập ở phần trên, hệ toạ độ 3D có thêm một trục nữa, gọi là trục Z. Trục Z vuông góc với mặt phẳng tạo bởi trục X và Y. Hình 4.4 cho ta thấy vị trí của trục Z.

Chú ý rằng trong hệ trục toạđộ này, trục X và Y để thể hiện chiều rộng và chiều cao, còn trục Z thể hiện chiều sâu. Trục Z có cả giá trị âm và dương khi ta di chuyển so với gôc toạ độ tuỳ thuộc vào loại hệ toạ độ. Hệ toạ độ thường được sắp đặt theo cả kiểu tay trái lẫn kiểu tay phải.

Hệ toạ độ tay trái

Hệ toạ độ tay trái: chiều dương trục X hướng về bên phải và chiều dương trục Y hướng lên trên. Sự khác nhau chủ yếu là ở trục Z. Trục Z trong hệ toạ độ này có chiều dương hướng ra xa người nhìn, và chiều âm hướng về phía người nhìn. Hình 4.5 biểu diễn hệ toạ độ tay trái. Đây là hệ toạđộđược sử dụng trong Direct3D.

Hệ toạ độ tay phải

Hệ tọa độ tay phải được dùng trong OpenGL, có trục X và trục Y giống như hệ tọa độ tay trái, nhưng trục Z thì theo chiều ngược lại. Chiều dương của trục Z hướng về phía người nhìn, trong khi chiều âm thì đi ra xa. Hình 4.6 biểu diễn hệ tọa độ tay trái.

Một phần của tài liệu Beginning DirectX 9 doc (Trang 58 - 60)