2012-03-21 30 views
9

Có thể xóa hoặc cắt bỏ các phần hình dạng trong ba.js không?Có thể cắt các phần của hình dạng Hình học trong ba.js không?

Ví dụ: nếu tôi đã tạo CylinderGeometry và muốn "cạo" mặt trước của nó đi, sao cho mặt trước bằng phẳng và mặt sau bị cong, giống như một nửa hình trụ. Điều này có thể không?

Tôi cần để có thể làm điều đó ở mặt trước và mặt sau của hình trụ, vì vậy chỉ cần hai bên bị cong.

Trả lời

19

Có thể. Bạn có thể tự xử lý các hình tam giác, hoặc sử dụng các phép toán Boolean với một thư viện như Constructive Solid Geometry để thực hiện phép trừ lưới.

CSG three.js

Có một cái nhìn herehere cho một số gợi ý liên quan đến thao tác hình học.

algorithms to slice a mesh khác có thể được chuyển qua, nhưng nó phụ thuộc vào cách đơn giản hoặc phức tạp bạn cần điều này.

+0

Cảm ơn đó chỉ là những gì tôi đang tìm kiếm. Chúc mừng @George – mcclennon19

+0

@George bạn có thể đưa ra một ví dụ hay không, làm thế nào để có được nhìn chằm chằm nếu tôi muốn đối phó trực tiếp với hình tam giác? – schlenger

+0

Lưới trong ba.js có [Hình học] (http://threejs.org/docs/#Reference/Core/Geometry) cho phép bạn truy cập trực tiếp đến 'đỉnh '(điểm 3d) và' mặt' (hình tam giác) kết nối các điểm 3d này). Ở giai đoạn này, bạn có thể di chuyển các đỉnh xung quanh, bạn có thể thêm/xóa khuôn mặt và do đó sửa đổi lưới của bạn theo bất kỳ cách nào bạn muốn. [GeometryUtils] (http://threejs.org/docs/#Reference/Extras/GeometryUtils) có thể hữu ích. Bạn muốn thao tác hình học lưới như thế nào? –

Các vấn đề liên quan