Quelqu'un pourrait-il m'indiquer dans la bonne direction comment cela pourrait être réalisé? Les mathématiques et la géométrie 3D me jettent souvent.
Je cherche quelque chose comme ça (idéalement en C #):
public Vector3 getCartesianFor(float elevation, float asimuth, float polar)
{
return ????;
}
c#
geometry
coordinates
Guerre
la source
la source
r
: distance radialeθ
: inclinaisonφ
: azimutvia Wikipedia
la source
Si
polar
vous entendez la magnitude du vecteur, etelevation
est défini comme l'angle entre le vecteur et le plan xy (comme son nom l'indique), la fonction serait:Notez que cela est très similaire à la réponse de MLM, tout dépend de la façon dont vous définissez votre
elevation
angle. J'ai également respecté la signature de votre modèle de fonction, mais je suggère quelques modifications:asimuth
est une faute de frappe, l'orthographe correcte seraitazimuth
polar
se réfère généralement au système de coordonnées 2D (r, θ). La magnitude du vecteur est communément appeléeradius
radius
comme premier paramètre.la source