If you're seeing this message, it means we're having trouble loading external resources on our website.

Nếu bạn đang sử dụng bộ lọc web, vui lòng kiểm tra lại xem bộ lọc có chặn hai tên miền *.kastatic.org*.kasandbox.org hay không.

Nội dung chính

Khái niệm hình 3D

Đây là bài viết của tác giả Peter Collingridge. Bản gốc được đăng trên trang web của anh ấy.
Nếu bạn đang lập trình trên Khan Academy, chắc hẳn bạn đã vẽ rất nhiều hình 2D như hình chữ nhật và hình elip. Có thể bạn sẽ thắc mắc làm thế nào để vẽ được một hình 3D như hình lập phương và hình cầu.
Thư viện ProcessingJS mà chúng ta sử dụng không được thiết kế để vẽ đồ họa 3D. Tuy nhiên, với một số phép lượng giác, chúng ta có thể viết ra công cụ đồ họa 3D của riêng mình. Trong quá trình đó, ta sẽ cùng tìm hiểu một chút về nguyên lý của đồ họa 3D (và lý do tại sao cần học lượng giác).
Dưới đây là một ví dụ về loại chương trình mà bạn có thể xây dựng chương trình cho phép người dùng sử dụng chuột để xoay chiếc bánh donut:

Đồ họa 3D là gì?

Vì màn hình máy tính về cơ bản là hai chiều nên đồ họa 3D chỉ là ảo ảnh quang học 2D khiến não của bạn nghĩ rằng nó đang nhìn thấy một vật thể 3D. Dưới đây là một ví dụ đơn giản:
Ba hình bình hành mô tả một khối lập phương
Công cụ đồ họa 3D có nhiệm vụ tính toán hình chiếu 2D lên màn hình của vật thể 3D. Để lập trình được công cụ đồ họa, chúng ta cần biết cách thực hiện các phép tính như vậy. Chương trình của chúng ta có thể sẽ không nhanh như hầu hết các công cụ 3D khác nhưng vẫn giúp chúng ta hiểu được nguyên lý hoạt động cơ bản.

Biểu diễn hình

Công cụ đồ họa 3D sẽ nhận một vật thể 3D và chuyển đổi thành đồ họa 2D. Tuy nhiên, làm thế nào để chúng ta biểu diễn một vật thể 3D bằng mã lập trình?
Một điểm trong không gian 3D có thể được biểu diễn bằng cách sử dụng mảng gồm ba số. Ví dụ, ta có thể sử dụng mảng [30, 80, 55] để biểu diễn một điểm có hoành độ 30 pixel, tung độ 80 pixel và tọa độ 55 pixel theo trục vuông góc với mặt phẳng màn hình của chúng ta. Hãy thử nghiệm với điểm dưới đây. Bạn có thể sử dụng chuột để xoay đồ thị theo nhiều hướng và thay đổi các con số để hiểu rõ sự khác biệt.
Biểu diễn một đường thẳng cũng rất dễ dàng, ta chỉ cần nối hai điểm với nhau. Vì vậy, một cách để biểu diễn vật thể 3D là chuyển đổi vật thể đó thành nhóm các đường thẳng. Đây được gọi là cấu trúc dây (wireframe) bởi vì ta sử dụng đường thẳng để phác họa các vật thể. Dĩ nhiên, đây không phải là phương thức lý tưởng để biểu diễn các vật thể rắn nhưng vẫn rất có ích khi ta bắt đầu vẽ đồ họa 3D.

Thuật ngữ

Dưới đây là một số thuật ngữ phổ biến nhất mà chúng ta sẽ sử dụng khi nghiên cứu hình 3D:
  • Điểm: một điểm được biểu diễn bằng ba tọa độ x, y và z (cũng có thể gọi là đỉnh).
  • Cạnh: một đường thẳng nối hai điểm.
  • Mặt: một mặt phẳng được xác định bởi ít nhất ba điểm.
  • Cấu trúc dây: một hình chỉ bao gồm điểm và cạnh.

Tham gia cuộc thảo luận?

Chưa có bài đăng nào.
Bạn có hiểu Tiếng Anh không? Bấm vào đây để thấy thêm các thảo luận trên trang Khan Academy Tiếng Anh.