public string GraphDefualtSine(int incNumTicksPerSec, int Xmin, int Xmax)
        {
            incNumTicksPerSec /= 2;
            int       totalXWidth = Xmax - Xmin;
            SineCurve mSine       = new SineCurve("Sine " + mNextSineIndex, mWindow.mMainModel.GenerateRandomColor(), mWindow.mMainModel.mGraphPlot);

            mSine.mNumTicksPerSec = incNumTicksPerSec;
            mNextSineIndex++;
            mSine.a = 1;
            mSine.w = 1;
            mSine.o = 0;
            mSine.d = 0;
            for (int i = 0; i < incNumTicksPerSec * totalXWidth; i++)
            {
                float ticks = i * (1.0f / (float)incNumTicksPerSec) + Xmin;
                System.Windows.Point tempPoint = new System.Windows.Point(ticks, mSine.a * (Math.Sin(mSine.w * ticks - mSine.o)) + mSine.d);
                mSine.AddPoint(tempPoint, mWindow.mMainModel.mGraphPlot);
            }
            mSines.Add(mSine);

            return("Sine " + (mNextSineIndex - 1));
        }
Example #2
0
        public void SetCurrentCurveByTitle(string incTitle)
        {
            switch (incTitle)
            {
            case "Distance":
                mCurrentSelectedCurve = mDistanceCurve;
                mWindow.theGraphPlot.EquationText.Text = "";
                return;

            case "Velocity":
                mCurrentSelectedCurve = mVelocityCurve;
                mWindow.theGraphPlot.EquationText.Text = "";
                return;

            case "Acceleration":
                mCurrentSelectedCurve = mAccelerationCurve;
                mWindow.theGraphPlot.EquationText.Text = "";
                return;

            default:
                break;
            }

            for (int i = 0; i < mLineGraphing.mLines.Count; i++)
            {
                LineCurve temp = mLineGraphing.mLines.ElementAt(i) as LineCurve;
                if (incTitle == temp.Title)
                {
                    mCurrentSelectedCurve             = temp;
                    mLineGraphing.CurrentSelectedLine = temp;
                    mLineGraphing.UpdateEquation(mLineGraphing.CurrentSelectedLine.m, mLineGraphing.CurrentSelectedLine.b);
                    mParabolaCurveSelected = false;
                    mWindow.theGraphPlot.DisplayEquationFormConvertion(mParabolaCurveSelected);
                    return;
                }
            }

            for (int i = 0; i < mParabolaGraphing.mParabolas.Count; i++)
            {
                ParabolaCurve temp = mParabolaGraphing.mParabolas.ElementAt(i) as ParabolaCurve;
                if (incTitle == temp.Title)
                {
                    mCurrentSelectedCurve = temp;
                    mParabolaGraphing.CurrentSelectedParabola = temp;
                    mParabolaGraphing.UpdateEquation(mParabolaGraphing.CurrentSelectedParabola.a,
                                                     mParabolaGraphing.CurrentSelectedParabola.h, mParabolaGraphing.CurrentSelectedParabola.k);
                    mParabolaCurveSelected = true;
                    mWindow.theGraphPlot.DisplayEquationFormConvertion(mParabolaCurveSelected);
                    return;
                }
            }

            for (int i = 0; i < mSineGraphing.mSines.Count; i++)
            {
                SineCurve temp = mSineGraphing.mSines.ElementAt(i) as SineCurve;
                if (incTitle == temp.Title)
                {
                    mCurrentSelectedCurve             = temp;
                    mSineGraphing.CurrentSelectedSine = temp;
                    mSineGraphing.UpdateEquation(mSineGraphing.CurrentSelectedSine.a,
                                                 mSineGraphing.CurrentSelectedSine.w, mSineGraphing.CurrentSelectedSine.o, mSineGraphing.CurrentSelectedSine.d);
                    mParabolaCurveSelected = false;
                    mWindow.theGraphPlot.DisplayEquationFormConvertion(mParabolaCurveSelected);
                    return;
                }
            }
        }