Come faccio ad avere X / Y coordinate del primo e l'ultimo punto del tratto dell'arco rispetto al alto a sinistra della tela?

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

Domanda

Ho una tela quadrata con una larghezza di 100 e un'altezza di 100. In quella piazza traggo un arco in questo modo:

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 domanda è: come faccio ad avere X / Y coordinate del primo e l'ultimo punto della linea tracciata rispetto al alto a sinistra della tela

È stato utile?

Soluzione

Il punto di partenza è banalmente (x + radius, y). Il punto finale è, per trigonometrics semplice, (x + radius*cos(angle), y + radius*sin(angle)). Si noti che il punto di partenza in questo caso è un caso particolare del punto finale più generale, con angle uguale a zero. Questi valori devono anche essere arrotondato all'intero più vicino, per ovvie ragioni.

(nota che questo vale solo quando l'argomento anticlockwise è falso, ed assumendo tutte le coordinate sono misurate dalla parte superiore sinistra. Se anticlockwise è vero, invertire il segno del secondo componente della coordinata y. Se le coordinate sono misurate da un altro angolo, applicare aritmetica semplice per correggere questo. si noti inoltre che questo è completamente indietro per una reale matematico.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top