Mục lục:
- Bước 1: Thêm xi lanh
- Bước hai: Tạo một tài liệu
- Bạn chắc chắn nhận thấy rằng xi lanh không có nhiều chiều. Đó là bởi vì bạn đang nhìn vào nó cạnh: Máy ảnh đang chỉ thẳng vào giao lộ của các trục x và y, và xi lanh là trung tâm trên chính điểm đó.
Video: [Khóa học lập trình C++ Cơ bản] - Bài 3: Xây dựng chương trình C++ đầu tiên | HowKteam 2025
Trong một số bước ngắn, bạn có thể bắt đầu tạo một chương trình 3D tương đối đơn giản trong JavaFX hiển thị thế giới ba chiều (ví dụ dưới đây). Như bạn thấy, không gian 3D này bao gồm bốn hình dạng: hình cầu, hình khối, hình trụ và hình chóp. Danh sách ngắn này cho bạn thấy làm thế nào để bắt đầu với một xi lanh.
Đặt Cap suy nghĩ của bạn, vì ví dụ này khá kỹ thuật và nhiều khái niệm liên quan đến xây dựng thế giới 3D có thể gây nhầm lẫn, đặc biệt nếu đây là kinh nghiệm đầu tiên của bạn về lập trình 3D.
Bước 1: Thêm xi lanh
Trong bước này, bạn thêm đối tượng 3D cơ bản vào thế giới của bạn. JavaFX cung cấp ba hình dạng cơ bản bạn có thể thêm: cylinders, boxes, and spheres. Bắt đầu bằng cách thêm một xi lanh:
Xi lanh xi lanh = xy lanh mới (100, 50); nguồn gốc. getChildren (). thêm (trụ);
Nhà xây dựng lớp Cylinder chấp nhận hai đối số: bán kính của xi lanh và chiều cao của nó. Ví dụ này tạo ra một xi lanh gần như hình dạng của một khúc khúc côn cầu khúc côn cầu, cao gấp 4 lần so với chiều cao; sau đó, nó thêm xi lanh vào nút gốc của cảnh.
Tại thời điểm này, xi lanh tồn tại trên thế giới, nhưng không nhìn thấy được. Dựa vào những gì bạn biết về hình dạng 2D, bạn có thể bị cám dỗ để làm cho nó có thể nhìn thấy bằng cách thêm một màu điền (setFill) hoặc một màu đột qu ((setStroke). Nhưng đó không phải là các đối tượng 3D làm việc như thế nào. Trong bước tiếp theo, bạn sẽ khám phá cách áp dụng vật liệu vào bề mặt của xi lanh để nó có thể nhìn thấy được trong hiện trường.
Bước hai: Tạo một tài liệu
Rendering các khuôn mặt của một đối tượng 3D phức tạp hơn nhiều so với render các đối tượng phẳng, hai chiều. Đối với một đối tượng 2D, bạn chỉ cần áp dụng một đối tượng Paint thông qua phương thức setFill. Sơn có thể là một màu đơn giản, một màu gradient, hoặc một hình ảnh.
Đối với vật thể 3D, bạn không áp dụng sơn. Thay vào đó, bạn áp dụng một vật thể đặc biệt gọi là vật liệu Phong , được đại diện bởi lớp PhongMaterial. Tài liệu Phong Phong (đặt tên theo ông Bùi Tường Phong, chuyên gia đồ họa máy tính tiên phong vào những năm 1970) cung cấp phương tiện mà các gương mặt của một đối tượng 3D được thực hiện một cách thực tế. Đoạn mã sau tạo ra một vật liệu đơn giản Phong dựa trên hai màu xanh lam và sau đó áp dụng vật liệu vào xi lanh:
PhongMaterial blueStuff = new PhongMaterial (); blueStuff. setDiffuseColor (màu LIGHTBLUE); blueStuff. setSpecularColor (Màu XANH); hình trụ. setMaterial (blueStuff);
Sau khi vật liệu Phong được đưa vào xi lanh, xi lanh sẽ được nhìn thấy trong hiện trường, như được hiển thị.
Hình trụ 3D với vật liệu Phong.
Bước ba: Dịch cái xi lanhBạn chắc chắn nhận thấy rằng xi lanh không có nhiều chiều. Đó là bởi vì bạn đang nhìn vào nó cạnh: Máy ảnh đang chỉ thẳng vào giao lộ của các trục x và y, và xi lanh là trung tâm trên chính điểm đó.
Để có được một cái nhìn về xi lanh, bạn có thể di chuyển nó đến một vị trí khác trong không gian 3D bằng cách dịch toạ độ x, y và z. Ví dụ:
xi lanh. setTranslateX (-200); hình trụ. setTranslateY (200); hình trụ. setTranslateZ (200);
Tại đây, xi lanh được di chuyển 200 đơn vị sang trái, 200 đơn vị xuống và 200 đơn vị cách xa máy ảnh. Chế độ xem kết quả giống như một xi lanh, như bạn thấy ở đây.
Hình trụ 3D được dịch.
Trong hình này, có vẻ như xi lanh đã được xoay về phía trước để bạn có thể nhìn thấy một chút bề mặt trên. Đây không phải là trường hợp, tuy nhiên. Điều đã thực sự xảy ra là bạn không còn nhìn vào cạnh hộp.Thay vào đó, vì cái xi lanh nằm dưới máy ảnh, bạn đang nhìn xuống nó. Vì vậy, bạn có thể nhìn thấy một chút trên mặt. Bạn cũng nhìn nó từ bên cạnh, điều này giải thích tại sao nó xuất hiện chỉ là một chút nghiêng.