Может ли кто-нибудь указать мне правильное направление относительно того, как этого можно достичь? 3D математика / геометрия часто бросает меня.
Я ищу что-то вроде этого (в идеале в C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
война
источник
источник
r
: радиальное расстояниеθ
: наклонφ
: азимутчерез википедию
источник
Если под
polar
вами подразумевается величина вектора, иelevation
она определяется как угол между вектором и плоскостью xy (как следует из названия), функция будет иметь вид:Обратите внимание, что это очень похоже на ответ MLM, все зависит от того, как вы определяете свой
elevation
угол. Я также уважал вашу подпись шаблона функции, но я предлагаю несколько изменений:asimuth
опечатка, правильное написание будетazimuth
polar
обычно относится к 2D системе координат (r, θ). Величина вектора обычно называетсяradius
radius
в качестве первого параметра.источник