3
我有這個功能,我用它來從u計算指數,V基於其各自uStep點和VSTEP值插值彩車
function getIndex1(u,v, uStep, vStep) {
var res = [];
for(var i = 0; i < 45; i++) {
res[i] = Math.round(v) * 128 + Math.round(u);
v += vStep;
u += uStep;
}
return res;
}
如果我試圖插這個功能,我得到這個
function getIndex2(u,v, uStep, vStep) {
var res = [];
v *= 128;
vStep *= 128;
for(var i = 0; i < 45; i++) {
res[i] = Math.round(v + u);
v += vStep;
u += uStep;
}
return res;
}
當u,v,uStep,vStep是整數時,這很有用,當這些值爲浮點數時出現問題。 我有預感,我需要一些「bresenham代碼」來完成我的目標。 希望有人能幫助我。
讓我猜測,你正在畫一條線? – tobspr
nope,線性紋理映射 – arcollector
你可能應該使用.tofixed()或者在round()發生之前將它們轉換爲Ints來處理浮點數。還有其他一些與Javascript浮動問題相關的問題 - http://stackoverflow.com/questions/2221167/javascript-formatting-a-rounded-number-to-n-decimals – Asta