I got it.
I used a strip of lines instead.
private void CalculateEllipsoid()
{
Path = new VertexPositionColor[64];
List<VertexPositionColor> Vertices = new List<VertexPositionColor>();
for (double i = 0; i < 2 * Math.PI; i += 0.001(variable))
{
var x = (float)(this.CenterX + (this.MajorAxisA * GLOBALSCALE) * (float)(Math.Cos(i)));
var y = (float)(this.CenterY + (this.MinorAxisB * GLOBALSCALE) * (float)(Math.Sin(i)));
Vertices.Add(new VertexPositionColor(new Vector3(x, 0, y), Color.DarkGray));
}
Vertices.Add(new VertexPositionColor(
new Vector3((float)(this.CenterX + (this.MajorAxisA * GLOBALSCALE) *
(float)(Math.Cos(0))), 0,
(float)(this.CenterY + (this.MinorAxisB * GLOBALSCALE) * (float)(Math.Sin(0)))), Color.DarkGray));
Path = Vertices.ToArray();
}
The method to calculate an ellipse:
var x = (float)(this.CenterX + (this.MajorAxisA * GLOBALSCALE) * (float)(Math.Cos(i)));
var y = (float)(this.CenterY + (this.MinorAxisB * GLOBALSCALE) * (float)(Math.Sin(i)));
is from here
https://stackoverflow.com/questions/9155750/rotate-some-elements-in-an-ellipse-path
To draw it
public void DrawEllipsoid()
{
BasicEffect effect = new BasicEffect(Device);
effect.World = Matrix.CreateTranslation(new Vector3(CelestialBody.GLOBALX, CelestialBody.GLOBALY, CelestialBody.GLOBALZ));
effect.View = Camera.ViewMatrix;
effect.Projection = Camera.ProjectionsMatrix;
effect.LightingEnabled = false;
effect.TextureEnabled = false;
effect.VertexColorEnabled = true;
effect.CurrentTechnique.Passes[0].Apply();
Device.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.LineStrip, Path, 0, Path.Length - 1);
}
The result:
( =