public GroundTrack(Form parent)
        {
            InitializeComponent();
            speed                = 0;
            MdiParent            = parent;
            histories            = new List <stateHistory>();
            StartTime            = 0.0f;
            EndTime              = 100.0f;
            CurrTime             = 50.0f;
            satellitePointRadius = 4;
            lastRender           = DateTime.Now;

            // Reduce flickering - double buffer
            DoubleBuffered = true;

            // Create sample histories
            stateHistory h1 = new stateHistory();
            stateHistory h2 = new stateHistory();

            h1.name  = "Test 1";
            h2.name  = "Test 2";
            h2.color = MagicColors.RandomColor(h1.color, 0.25f);
            for (float t = 0.0f; t < 100.0; t += 1.0f)
            {
                h1.addPoint(t, 15.0f * (float)(Math.Sin(t / 50.0f)) + 10.0f, t + 200.0f, 500.0f);
                h2.addPoint(t, 7.0f * (float)(Math.Cos(t / 20.0f)) - 25.0f, t - 120.0f, 200.0f);
            }
            histories.Add(h1);
            histories.Add(h2);
        }