Подтвердить что ты не робот

Построение точки на краю сферы

Итак, исходя из флеш-фона, у меня есть понимание некоторых простых 2D-триггеров. В 2d с кругом I, я знаю математику, чтобы поместить элемент на край с учетом угла и радиуса.

x = cos(a) * r;
y = sin(a) * r;

Теперь, если у меня есть точка в 3d-пространстве, я знаю радиус моей сферы, я знаю угол, который я хочу расположить вокруг оси z, и угол, который я хочу расположить вокруг, скажем, оси y. Какова математика, чтобы найти координаты x, y и z в моем трехмерном пространстве (предположим, что мое происхождение составляет 0,0,0)? Я бы подумал, что могу позаимствовать математику из круга, но я не могу найти решение.

4b9b3361

Ответ 1

Ваша позиция в 3d задается двумя углами (+ радиус, который в вашем случае является постоянным)

x = r * cos(s) * sin(t)
y = r * sin(s) * sin(t)
z = r * cos(t)

здесь s - угол вокруг оси z, а t - это угол высоты, измеренный "вниз" от оси z.

На рисунке ниже показано, что представляют собой углы, s = theta в диапазоне от 0 до 2 * PI в плоскости xy, и t = phi в диапазоне от 0 до PI.

введите описание изображения здесь