{
desenho.innerHTML = `
<path d="${arrow(S1.o, vec2.add([],S1.o, S1.u0))}" stroke=black />
<path d="${arrow(S1.o, vec2.add([],S1.o, S1.u1))}" stroke=black />
<circle cx=${S1.o[0]} cy=${S1.o[1]} r=5 />
<circle cx=${P[0]} cy=${P[1]} r=5 fill=blue />`;
for (let ix = 0; ix < 8; ix++) {
for (let iy = 0; iy < 8; iy++) {
let q = vec2.add([], S1.o,
vec2.add ([],
vec2.scale ([], S1.u0, ix),
vec2.scale ([], S1.u1, iy)));
desenho.append(svg`<circle cx=${q[0]} cy=${q[1]} r=1.5 fill=red >`)
}
}
let [x,y] = P_S1.map( _ => _.toFixed(2));
desenho.append (svg`<text x=${P[0]} y=${P[1]} dx=10 >(${x}, ${y})</text>` )
desenho.onclick = (e) => {
mutable P = [e.offsetX, e.offsetY, 1]
}
}