public override MyColor GetColor(V3 intersection)
        {
            MyColor couleur;

            if (Texture != null)
            {
                Tools.InvertCoordSpherique(FindSpherePoint(intersection), Radius, out float u, out float v);
                u      /= Tools.TAU;
                v       = -(v + Tools.PI2) / (Tools.PI2 + Tools.PI2);
                couleur = Texture.ReadColor(u, v);
            }
            else
            {
                couleur = ShapeColor;
            }
            return(couleur);
        }
        public override MyColor GetColor(V3 intersection)
        {
            MyColor couleur;

            if (Texture != null)
            {
                // Recuperation de u et v pour recuperer la couleur dans la texture
                V3    AB = PointB - PointA;
                V3    AC = PointC - PointA;
                V3    AI = intersection - PointA;
                float u  = ((AC ^ Normal) * AI) / (AB ^ AC).Norm();
                float v  = -((Normal ^ AB) * AI) / (AC ^ AB).Norm();
                couleur = Texture.ReadColor(u, v);
            }
            else
            {
                couleur = ShapeColor;
            }
            return(couleur);
        }