Я пытаюсь нанести точки вокруг центральной точки, используя сферические координаты. Я знаю, что это далеко не самый эффективный способ построения сферы в OpenGL, но я хочу сделать это как пример для лучшего понимания сферических координат.
Я хочу пройти каждую точку под определенным углом, чтобы для этого у меня есть вложенное значение для l oop, проходящее через тета 0 - 360 и фи 0-360, и я пытаюсь получить декартовы координаты каждого из этих шагов и отобразить его как одну точку.
пока у меня есть это:
float r = 1.0;
for( float theta = 0.0; theta < 360.0; theta += 10.0){
for(float phi = 0.0; phi < 360.0; phi += 10.0){
float x = r * sin(theta) * cos(phi);
float y = r * sin(theta) * sin(phi);
float z = r * cos(theta);
}
}
Я храню эти точки, отображая их. функция отображения работает нормально, так как раньше я использовал ее для отображения другой структуры точек, но по какой-то причине я не могу заставить это работать.
Я также пытался преобразовать углы из градусов в радианы:
float rTheta = theta * M_PI * 180.0;
float rPhi = phi * M_PI * 18.0;
, поскольку sin()
и cos()
оба используют радианы, но это дает одинаковые результаты.
Я делаю что-то не так и плохо что-то неправильно понимаю?