p5.js を使ってちょっとしたプログラムを作っているところですが、何か変なものを見つけました。サイズが非常に大きい場合、arc() 関数は正しくレンダリングされないようです。
これが私のコードです:
var ellipseSize = 200;
var strokeSize = 60;
for(var j=0; j<filteredTrees.length; j++){
strokeWeight(strokeSize);
var rad = 0;
for(var i =0; i < filteredTrees[j].trees.length; i++){
var element = filteredTrees[j].trees[i];
var radBegin = rad;
rad += (element.nbr/filteredTrees[j].rangeNbr)*(2*PI);
stroke(element.color.red, element.color.green, element.color.blue);
arc(width/2, height/2, ellipseSize, ellipseSize, radBegin, rad);
}
ellipseSize += (strokeSize*2);
strokeSize *= 0.9;
}
そして、これがレンダリングされたイメージです。黒い円は、円弧が持つべき正しい位置合わせを示しています。下に見えるように、一部のアークは予想される位置を超えています。
なぜこれを行うのか分かりますか?