2010-12-08 47 views

回答

0

如果你想自己實現圖形,首先得到你的x,y點在兩個數組xarray[]yarray[]。通常要實現一個曲線圖,你需要在你已有的數據點之間的點。使用這種插補www.webcabcomponents.com有插補程序的免費版本。您只需給出xarray,yarray,any_x,您將得到任意x的插值y點。您可以通過代碼的關係看,連續的曲線狀

[pseudo code] 
firstX,firstY =0 //assumed x=0; y(0)=0 
loop 
for x= 0 to panel width; 
{ get interpolatedY(x); 
    drawLine from (firstX,firstY) to (nextX,nextY); 
    //use Graphics.drawLine command 
    firstX=nextX; firstY=nextY; 
} 

您可能需要如果需要設置規模,以規模乘以firstX等。

對於插值,這些代碼會讓你開始。 returnedArray有兩個元素。首先returnedArray[0]是所需的y。另一個是錯誤估計(現在忽略)。

import webcab.lib.math.interpolation.Interpolation; 
Interpolation interpol1 = new Interpolation(); 
double[] returnedArray = interpol1.interpolateExtrapolatePolynomial(getQArray(),getEArray(),x); 
y=returnedArray[0]; 

上述方法interpolateExtrapolatePolynomial(getQArray(),getEArray(),x)用於多型曲線。如果您的數據點遵循任何其他模式類,則插值有其他方法。或者你可以使用數值方法來實現自己。

快樂編碼!