Tome un vistazo a esta imagen:¿Cómo dibujar solo esta parte del arco?
Sé p1, p2, y el centro, que son puntos 2D. También sé el ángulo p1-center-p2 y el radio r.
¿Cómo puedo dibujar solo la parte rellena del arco con el lienzo 'function arc()?
EDITAR
Lo que realmente necesito hacer es, dado 2 puntos y un ángulo, dibujar una línea curva entre estos 2 puntos tales que el ángulo P1-P2-centro es el ángulo dado.
Lo que hago es calcular el centro y el radio de la circunferencia que tiene esos 2 puntos y ahora necesito dibujar la línea que une p1 y p2 y tiene el ángulo dado. Este es mi función para calcular el centro de la circunferencia (que funciona correctamente)
function getCenter(v0x, v0y, v1x, v1y, curve) {
// result = p0
resx = parseFloat(v0x);
resy = parseFloat(v0y);
// tmpvec = (p1 - p0) * .5
tmpx = (v1x - v0x)/2;
tmpy = (v1y - v0y)/2;
// result += tmpvec
resx = resx + tmpx;
resy = resy + tmpy;
// rotate 90 tmpvec
tmptmpx = tmpx;
tmptmpy = tmpy;
tmpy = -tmptmpx;
tmpx = tmptmpy;
// tmpvec *= 1/tan(c/2)
tmpx *= 1/Math.tan(curve/2);
tmpy *= 1/Math.tan(curve/2);
// return res + tmpvec
return [resx+tmpx, resy+tmpy];
}
pero tengo otras cosas dibujadas lo cual no quiere eliminar – Ivan
Lo que realmente necesito es algo así como: moveTo (p1) arcto (P2, radio) – Ivan
Esto no parece estar funcionando cuando se tiene p1 un componente x diferente de p2: http://i.imgur.com/AKpgv.png – Ivan