Tôi đang cố gắng tạo một hình cầu tứ giác dựa trên một bài viết , cho thấy kết quả như thế này:
Tôi có thể tạo ra một khối chính xác:
Nhưng khi tôi chuyển đổi tất cả các điểm theo công thức này (từ trang được liên kết ở trên):
x = x * sqrtf(1.0 - (y*y/2.0) - (z*z/2.0) + (y*y*z*z/3.0));
y = y * sqrtf(1.0 - (z*z/2.0) - (x*x/2.0) + (z*z*x*x/3.0));
z = z * sqrtf(1.0 - (x*x/2.0) - (y*y/2.0) + (x*x*y*y/3.0));
Hình cầu của tôi trông như thế này:
Như bạn có thể thấy, các cạnh của khối lập phương vẫn thò ra quá xa. Các khối lập phương từ -1
đến +1
trên tất cả các trục, như bài báo nói.
Bất cứ ý tưởng những gì là sai?
1
Việc triển khai của bạn có chứa vấn đề "x = x ..." không hay chỉ ở đây?
—
rắn5
Đồ dùng trực quan tuyệt vời. Cảm ơn bạn đã bao gồm những người.
—
doppelgreener
Để trả lời câu hỏi trong tiêu đề, bạn chỉ cần bình thường hóa các đỉnh của khối lập phương để biến nó thành một hình cầu. Sự phân bố các đỉnh có thể sẽ khác với phương thức được liên kết mặc dù.
—
msell
Liên quan: gamedev.stackexchange.com/questions/7189/
—
trộm