ฉันพยายามสร้างทรงกลมรูปสี่เหลี่ยมตามบทความซึ่งแสดงผลลัพธ์ดังนี้:
ฉันสามารถสร้างลูกบาศก์ได้อย่างถูกต้อง:
แต่เมื่อฉันแปลงคะแนนทั้งหมดตามสูตรนี้ (จากหน้าที่ลิงก์ด้านบน):
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));
ทรงกลมของฉันมีลักษณะเช่นนี้:
อย่างที่คุณเห็นขอบของลูกบาศก์ยังคงโผล่ออกมาไกลเกินไป ลูกบาศก์มีช่วงตั้งแต่-1
ถึง+1
แกนทั้งหมดเช่นบทความบอกไว้
ความคิดใด ๆ ที่ผิดปกติ?
1
การติดตั้งของคุณมีปัญหา "x = x ... " ด้วยหรือไม่
—
snake5
เครื่องช่วยมองเห็นที่ยอดเยี่ยม ขอบคุณสำหรับการรวมเหล่านั้น
—
doppelgreener
ในการตอบคำถามในชื่อเรื่องคุณสามารถทำให้ปกติจุดยอดของคิวบ์เพื่อทำให้เป็นทรงกลม การกระจายของจุดยอดอาจจะแตกต่างจากวิธีการเชื่อมโยงแม้ว่า
—
msell
ที่เกี่ยวข้อง: gamedev.stackexchange.com/questions/7189/…
—
MichaelHouse