Я намагаюся створити чотирикутну сферу на основі статті , яка показує такі результати:
Я можу генерувати куб правильно:
Але коли я конвертую всі точки за цією формулою (зі сторінки, що пов’язана вище):
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 ..." чи це просто тут?
—
змія5
Фантастичні наочні посібники. Дякую за включення до них.
—
doppelgreener
Щоб відповісти на запитання в заголовку, ви можете просто нормалізувати вершини куба, щоб зробити його сферою. Розподіл вершин, мабуть, буде відрізнятися від пов'язаного методу.
—
msell
Пов'язаний: gamedev.stackexchange.com/questions/7189 / ...
—
MichaelHouse