我想實現一個分配Bezier曲線。我試圖通過給我的函數一個關鍵幀數組移動一個球(使用bezier曲線)。該功能應該給我關鍵幀之間的所有幀...或控制點...但儘管我使用wikipedia上找到的公式...它不是真的工作:s實現Bezier曲線
她是我的代碼:
private void interpolate(){
float x,y,b, t = 0;
frames = new Frame[keyFrames.length];
for(int i =0;i<keyFrames.length;++i){
t+=0.001;
b = Bint(i,keyFrames.length,t);
x = b*keyFrames[i].x;
y = b*keyFrames[i].y;
frames[i] = new Frame(x,y);
}
}
private float Bint(int i, int n, float t){
float Cni = fact(n)/(fact(i) * fact(n-i));
return Cni * pow(1-t,n-i) * pow(t,i);
}
而且我注意到,幀[]數組要大得多,但我無法找到任何其他文字這是比較友好的程序員
在此先感謝。
您使用什麼語言? – Blorgbeard 2011-03-30 12:18:48
[Processing] http://processing.org/它是基於Java的,但是Frame類和KeyFrame類都是我的創建。 (他們真的只是一個x,y的位置和時間字段,我沒有在這個代碼中使用 – Jonny 2011-03-30 12:22:36