Alguém poderia me indicar a direção certa de como isso pode ser alcançado? A matemática / geometria 3D geralmente me joga.
Estou procurando algo parecido com isto (idealmente em c #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Guerra
fonte
fonte
r
: distância radialθ
: inclinaçãoφ
: azimutevia Wikipedia
fonte
Se
polar
você quer dizer a magnitude do vetor eelevation
é definido como o ângulo entre o vetor e o plano xy (como o nome indica), a função seria:Observe que isso é muito semelhante à resposta do MLM, tudo depende de como você define seu
elevation
ângulo. Também respeitei a assinatura do modelo de função, mas sugiro algumas alterações:asimuth
é um erro de digitação, a ortografia correta seriaazimuth
polar
geralmente se refere ao sistema de coordenadas 2D (r, θ). A magnitude do vetor é comumente referida comoradius
radius
como primeiro parâmetro.fonte