2009-11-02 89 views

回答

0
double amplitude = 1.7; 
       double period = 2; 
       PointPairList ppl = new PointPairList(); 
       double y=0; 
       for (double x = 0; x <= 10; x += .005) 
       { 
        double p = (x % (period))/period ; 
        if (p >= 0 && p <= 0.25) 
         y = 4 * p * amplitude; 
        if (p > 0.25 && p < 0.5) 
         y = amplitude - (p - 0.25) * 4 * amplitude; 
        if(p>0.5 && p<=0.75) 
         y = - 4 * (p-0.5) * amplitude; 
        if(p>0.75 && p<=1) 
         y = - (amplitude - (p - 0.75) * 4 * amplitude); 
        ppl.Add(x,y); 
       } 

       var line = zg1.MasterPane[0].AddCurve("", ppl, Color.Blue); 
       line.Symbol.IsVisible = false; 
       zg1.AxisChange(); 
       zg1.Refresh(); 
+0

TX,但我忘了補充一個要求(現在又增加了)好了,從技術上說,我寫的是 「基於x軸」 – 2009-11-02 19:15:37

+0

。有什麼不同?只需將「我」替換爲「x」即可。 第二件事 - 你寫的程序是產生方波的值,而不是三角波。 但是好的,我會更改代碼... – Gacek 2009-11-03 19:21:19

+0

好的,改變了。現在它應該是你所期望的... – Gacek 2009-11-03 19:44:05