вообщем написал некоторую фигню типа :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="200" height="240" xmlns="http://www.w3.org/2000/svg" version="1.1" onclick="addpnt()" onmousemove="gxy(event); lastpt(); drawpt(100);">
<script>
pnt = new Array(Array(0,0));
сх = 0;
cy = 0;
function ge(a) {
return document.getElementById(a);
}
function gxy(event) {
cx = event.clientX;
cy = event.clientY;
}
function downexp(p, t) {
cp = new Array();
cnt = p.length-1;
cp[0] = p;
for (i=0;i<cnt;i++) {
cntt = cp[i].length-1;
for (j=0;j<cntt;j++) {
cp[i+1][j][0]=cp[i][j][0]+t*(cp[i][j+1][0]-cp[i][j][0]);
cp[i+1][j][1]=cp[i][j][1]+t*(cp[i][j+1][1]-cp[i][j][1]);
}
}
return cp[cnt][0];
}
function addpt() {
cnt = p.length;
pnt[cnt][0] = cx;
pnt[cnt][1] = cy;
}
function lastpt() {
cnt = p.length-1;
pnt[cnt][0] = cx;
pnt[cnt][1] = cy;
}
function drawpt(n) {
t = 1/n;
pa = new Array();
ln = ge('line');
ptt = '';
cnt = pnt.length;
for(j=0;j<n;j++) {
pa[j] = downexp(pnt, t*i);:-? :help:
}
</script>
<polyline points="0,0 1,1" id="line" stroke="red" stroke-width="3" fill="none"/>
</svg>
и что самое странное выдает хмл ошибку на этом месте:
function downexp(p, t) {
cp = new Array();
cnt = p.length-1;
cp[0] = p;
for (i=0;i<cnt;i++) {
cntt = cp[i].length-1;
for (j=0;j<cntt;j++) {
cp[i+1][j][0]=cp[i][j][0]+t*(cp[i][j+1][0]-cp[i][j][0]);
cp[i+1][j][1]=cp[i][j][1]+t*(cp[i][j+1][1]-cp[i][j][1]);
}
}
return cp[cnt][0];
}
именно в циклах. при их удалении ошибку не выдает. по крайней мере хмл. три часа с лупой сидел у монитора и таки не понял в чем дело. не могли бы помочь разобраться, а то совсем не понимаю что тут не так.