0
我希望沿曲線參數化(即等距)點的弧長。我可以使用de Casteljau和pythagoras來循環它。這在曲線是靜態的時候有效,但如果曲線是動態的,它就會變得不穩定。我也嘗試過三次多項式,與預期的一樣給出了與Casteljau相同的點。在不使用蠻力/查找表的情況下查找bezier的alp點
有沒有辦法改變一個這些函數來有效地獲得alp-points而沒有循環/數組?近似值很好。
float lerp(float A, float B, float C) {
return A*(1-C)+B*C;
}
float bezierPoint_lerp(float A, float B, float C, float D, float T) {
return lerp(lerp(lerp(A, B, T), lerp(B, C, T), T),
lerp(lerp(B, C, T), lerp(C, D, T), T), T);
}
float bezierPoint_pow(float A, float B, float C, float D, float T) {
return A * pow(1-T,3) +
B * 3 * pow(1-T,2) * T +
C * 3 * (1-T) * pow(T,2) +
D * pow(T,3);
}
什麼是'alp points'? – MBo
弧長參數化/等距點 – PrincePolka