Mục lục:
Video: Futuristic User Interactions: An Introduction to Leap Motion by Armaghan Behlum and Tomas Reimers 2025
JavaFX đã tích hợp hỗ trợ mô hình 3D thực tế. Trong thực tế, đồ thị cảnh JavaFX là ba chiều trong tự nhiên. Hầu hết các chương trình JavaFX chỉ hoạt động trong hai chiều, chỉ định tọa độ x và y. Nhưng tất cả những gì bạn phải làm để bước vào kích thước thứ ba là xác định z-tọa độ để đặt các nút của đồ thị cảnh của bạn trong không gian ba chiều.
JavaFX bao gồm một tập các lớp học phong phú được dành để tạo và hiển thị đối tượng 3D trong thế giới 3D. Bạn có thể tạo các hình dạng ba chiều, chẳng hạn như hình khối và hình trụ. Bạn có thể di chuyển máy ảnh ảo xung quanh trong không gian 3D để xem đối tượng 3D của bạn từ góc độ khác nhau và các quan điểm khác nhau.
Và bạn thậm chí có thể thêm nguồn ánh sáng để kiểm soát chặt chẽ sự xuất hiện cuối cùng của thế giới ảo của bạn. Tóm lại, JavaFX có khả năng tạo cảnh 3D đáng ngạc nhiên.
Thêm một hộp 3D vào thế giới Java của bạn
Trong bước này, thêm một đối tượng vào thế giới 3D: Trong trường hợp này, một hộp, được đại diện bởi lớp Box. Đây là mã:
Hộp hộp = hộp mới (100, 100, 100); cái hộp. setMaterial (blueStuff); cái hộp. setTranslateX (150); cái hộp. setTranslateY (-100); cái hộp. setTranslateZ (-100); nguồn gốc. getChildren (). thêm (hộp);
Nhà xây dựng hộp chấp nhận ba đối số đại diện cho chiều rộng, chiều cao và chiều sâu của hộp. Trong ví dụ này, cả ba đều được đặt là 100. Vì vậy, hộp sẽ được vẽ như một khối lập phương với mỗi bên đo 100 đơn vị.
Hộp được lấy cùng loại vật liệu với xi lanh; sau đó, nó được dịch trên cả ba trục để bạn có thể có một cái nhìn quan điểm của hộp. Hình này cho thấy hộp xuất hiện khi hiển thị. Như bạn thấy, mặt trái và mặt dưới của hộp có thể nhìn thấy được vì bạn dịch vị trí của hộp lên và sang phải để máy ảnh có thể đạt được một số điểm.
Xoay hộp 3D
Trong bước này, xoay hộp để tạo chế độ xem phối cảnh thú vị hơn. Có hai cách để xoay một đối tượng 3D. Cách đơn giản nhất là gọi phương thức setRotate của đối tượng và cung cấp hộp xoay góc:
. setRotate (25);
Theo mặc định, điều này sẽ xoay đối tượng trên trục z của nó. Nếu điều này khó hình dung, hãy tưởng tượng nhịp nhàng đối tượng bằng thanh dài song song với trục z. Sau đó, xoay vật trên xiên.
Nếu bạn muốn xoay vật dọc theo một trục khác, trước tiên hãy gọi setRotationAxis. Ví dụ, để xoay vật trên trục x của nó, sử dụng trình tự này:
hộp. setRotationAxis (Xoay X_AXIS); cái hộp. setRotate (25);
Hãy tưởng tượng chạy cái xiên qua hộp với xiên song song với trục x và sau đó quay hộp 25 độ.
Vấn đề duy nhất khi sử dụng phương pháp setRotate để quay một vật thể 3D là nó chỉ hoạt động trên một trục tại một thời điểm. Ví dụ: giả sử bạn muốn xoay hộp 25 độ trên cả trục Z và X. Đoạn mã dưới đây sẽ không thực hiện việc này:
. setRotationAxis (Xoay X_AXIS); cái hộp. setRotate (25); cái hộp. setRotationAxis (Xoay Z_AXIS); cái hộp. setRotate (25);
Khi phương pháp setRotate được gọi là lần thứ hai để xoay hộp trên trục z, trục quay trục x được đặt lại.
Để xoay trên nhiều trục, bạn phải sử dụng lớp Rotate thay thế. Bạn tạo một cá thể Xoay riêng cho mỗi trục bạn muốn xoay đối tượng trên và sau đó thêm tất cả các trường Xoay vào bộ sưu tập Transforms của đối tượng thông qua getTransforms (). addAll phương pháp, như thế này:
Rotate rxBox = mới Rotate (0, 0, 0, 0, Xoay X_AXIS); Xoay vòng ryBox = mới Xoay vòng (0, 0, 0, 0, Xoay Y_AXIS); Rotate rzBox = mới Xoay (0, 0, 0, 0, Xoay Z_AXIS); rxBox. setAngle (30); ryBox. setAngle (50); rzBox. setAngle (30); cái hộp. getTransforms (). addAll (rxBox, ryBox, rarBox);
Nhà xây dựng Rotate chấp nhận bốn tham số. Ba đầu tiên là các tọa độ x, y, và z của điểm trong đối tượng qua trục quay sẽ đi qua. Thông thường, bạn xác định số không cho các tham số này để xoay đối tượng quanh điểm trung tâm. Tham số thứ tư xác định trục quay.
Hình này cho thấy hộp xuất hiện như thế nào sau khi nó được xoay.
Hộp sau khi nó được xoay.