
09.05.2004, 00:04
|
|
Регистрация: Aug 2001
Адрес: vg
Сообщений: 352
|
дядька Брезенхейм нам казал что окружность на матрице можно нарисовать с точностью около 0.7
запусти ниже следующее и посмотри на радиус который
возвращают точки полученные по Безье.
r=100;
num=8;
ang=0;
dang=Math.PI/num;
while(ang<2*Math.PI){
x1=r*Math.cos(ang);
y1=r*Math.sin(ang);
x2=2*r*Math.cos(ang+dang)-0.5*r*(Math.cos(ang)+Math.cos(ang+2*dang));
y2=2*r*Math.sin(ang+dang)-0.5*r*(Math.sin(ang)+Math.sin(ang+2*dang));
x3=r*Math.cos(ang+2*dang);
y3=r*Math.sin(ang+2*dang);
calc (x1,x2,x3,y1,y2,y3);
ang+=2*dang;
}
function B1 (t) {
return (t*t);
}
function B2 (t) {
return (2*t*(1-t));
}
function B3 (t) {
return ((1-t)*(1-t));
}
function calc (x1,x2,x3,y1,y2,y3) {
count = 0;
detailBias = 1/59;
level = 1;
do {
x = x1*B1(count)+x2*B2(count)+x3*B3(count);
y = y1*B1(count)+y2*B2(count)+y3*B3(count);
r=Math.sqrt(x*x+y*y);
trace(r);
count += detailBias;
} while (count<=1);
}
|