¿Podría alguien señalarme en la dirección correcta sobre cómo se podría lograr esto? Las matemáticas / geometría 3D a menudo me arrojan.
Estoy buscando algo como esto (idealmente en C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Guerra
fuente
fuente
r
: distancia radialθ
: inclinaciónφ
: azimuta través de Wikipedia
fuente
Si
polar
se refiere a la magnitud del vector yelevation
se define como el ángulo entre el vector y el plano xy (como su nombre lo indica), la función sería:Tenga en cuenta que esto es muy similar a la respuesta de MLM, todo depende de cómo defina su
elevation
ángulo. También he respetado la firma de la plantilla de función, pero sugiero algunos cambios:asimuth
es un error tipográfico, la ortografía correcta seríaazimuth
polar
generalmente se refiere al sistema de coordenadas 2D (r, θ). La magnitud del vector se conoce comúnmente comoradius
radius
como primer parámetro.fuente