HTML5 Canvas: calcul d'un point x, y lors d'une rotation

Je l'élaboration d'un Canevas HTML5 App et il s'agit de lire un fichier xml qui décrit la position des flèches, rectanges et d'autres formes j'ai besoin de dessiner sur le canevas.

Exemple de la mise en page XML:

<arrow left="10" top="20" width="100" height="200" rotation="-40" background-color="red"/> 
<rect left="10" top="20" width="100" height="200" rotation="300" background-color="red"/> 

Si l'objet est en rotation, il consiste à calculer la position d'un point P de la nouvelle position de l'objet après rotation) lors de la rotation autour d'un autre point(à gauche,en haut). J'essaie de trouver une fonction générale/formule que je peux utiliser pour calculer ce point P, mais mon calcul est un peu faible & je ne peux pas identifier ce que l'arc tangente de la formule je suis censé utiliser.

Pouvez-vous m'aider à trouver une formule que je peux utiliser pour calculer le point P pour les rotations qui peuvent être à la fois positif & négatif?

HTML5 Canvas: calcul d'un point x, y lors d'une rotation

Dans l'exemple ci-dessus: point(14,446) est à gauche,en haut point & point(226,496) est le point milieu de l'objet lorsqu'il n'est PAS tourné de sorte que le point=(gauche+largeur/2,haut+hauteur/2) et le point bleu est le point milieu lors de la rotation. Je sais comment calculez la longueur de la ligne entre les points (14,446) & (226,496), mais pas la façon de calculer le point bleu position x,y - BTW: la longueur de cette ligne est la même que la ligne entre le point bleu & (14,446)

len = sqrt( (496-446)^2 + (226-14)^2 );
    = 227.56;

source d'informationauteur Jake M