Vous pouvez voir un exemple de travail de ceci ici.
Mes questions concernent le petit arc bleu intérieur. Je veux montrer l'arc en commençant à 0 et en allant jusqu'à l'hypoténuse de 0 à 360.
Pour le moment, mon code ressemble à ceci qui ajoute l'arc:
const hypotenuseCoords = {
x1: hypotenuseCentre,
y1: parseFloat(state.hypotenuse.attr('y1')),
x2: xTo,
y2: dy
};
const angle = Math.atan2(hypotenuseCoords.y2 - hypotenuseCoords.y1, hypotenuseCoords.x2 - hypotenuseCoords.x1);
const arc = d3.svg.arc()
.innerRadius(15)
.outerRadius(20)
.startAngle(Math.PI/2)
.endAngle(angle + Math.PI/2);
state.innerAngle
.attr('d', arc)
.attr('transform', `translate(${hypotenuseCentre}, 0)`);
Le problème est que l'arc ne va que de 0 à pi ou 180 et de 180 à 360. Je pense que le startAngle dans mes coordonnées est incorrect.
Comment puis-je faire en sorte que l'arc s'étende complètement de 0 à 360?