Пример #1
0
 /// <summary>
 /// Retourne la position sphérique associée à la position en coordonnées cartésiennes donnée.
 /// </summary>
 /// <returns></returns>
 public static SphericalCoords FromCartesian(Vector3 vec)
 {
     SphericalCoords coords = new SphericalCoords();
     coords.Radius = (float)Math.Sqrt(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
     coords.Theta = To0_2PI_Range((float)Math.Acos(vec.Z / coords.Radius));
     coords.Phi = To0_2PI_Range((float)Math.Atan2(vec.Y, vec.X));
     return coords;
 }
Пример #2
0
        /// <summary>
        /// Retourne la position sphérique associée à la position en coordonnées cartésiennes donnée.
        /// </summary>
        /// <returns></returns>
        public static SphericalCoords FromCartesian(Vector3 vec)
        {
            SphericalCoords coords = new SphericalCoords();

            coords.Radius = (float)Math.Sqrt(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
            coords.Theta  = To0_2PI_Range((float)Math.Acos(vec.Z / coords.Radius));
            coords.Phi    = To0_2PI_Range((float)Math.Atan2(vec.Y, vec.X));
            return(coords);
        }