Comment puis-je obtenir les coordonnées x / y des premier et dernier points du arc dessiné par rapport au coin en haut à gauche de la toile?

StackOverflow https://stackoverflow.com/questions/3671611

Question

I ai une toile carrée avec une largeur de 100 et une hauteur de 100. Au sein de ce carré, je dessine un arc comme ceci:

var canvas = document.getElementById('myCanvas');
var ctx    = canvas.getContext('2d');
ctx.clearRect(0,0,100,100) // clears "myCanvas" which is 100pixels by 100 pixels
ctx.beginPath();
ctx.arc( 50, 50, 30, 0, Math.PI*2/6 , false )
ctx.stroke();

La question est: Comment puis-je obtenir les coordonnées x / y des premier et dernier points de la ligne tracée par rapport au coin supérieur gauche coin de la toile

Était-ce utile?

La solution

Le point de départ est trivialement (x + radius, y). Le point de fin est, par un simple trigonométriques, (x + radius*cos(angle), y + radius*sin(angle)). Notez que le point de départ dans ce cas est un cas particulier du point final plus général, avec angle égal à zéro. Ces valeurs doivent également être arrondi au nombre entier le plus proche, pour des raisons évidentes.

(Notez que cela ne vaut que lorsque l'argument anticlockwise est faux, et en supposant que toutes les coordonnées sont mesurées à partir du haut à gauche. Si anticlockwise est vrai, inverser le signe du second composant de la coordonnée y. Si les coordonnées sont mesurées d'un autre coin, appliquer arithmétique simples pour corriger cela. a noter également que cela est tout à fait en arrière pour tout mathématicien réel.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top