Je veux être capable de retourner une coordonnée d'un élément après l'avoir fait pivoter autour d'un certain point. C'est ce que j'ai jusqu'ici (mais c'est incorrect).Faire pivoter un élément autour d'un certain point (sans utiliser l'origine de la transformation) avec javascript
function rotateAroundPoint(pointX,pointY,angle) {
//converting degrees to rads
angle = angle * Math.PI/180.0
newX = Math.cos(angle) * pointX - Math.sin(angle) * pointY;
newY = Math.sin(angle) * pointX + Math.cos(angle) * pointY;
return({x:newX,y:newY});
}
var result = rotate(50,50,45);
/* offsetting by the result should make it look rotated around the point 50 50 */
document.getElementById("div").setAttribute("style","top:"+(result.y)+"px;left:"+(result.x)+"px;");
le css:
#div
{
width:100px;
height:100px;
padding:10px;
position: absolute;
border: 1px solid black;
background-color: red;
-webkit-transform: rotate(45deg);
}
Voici une bonne explication sur la façon de tourner autour d'un point autre que l'origine: http://mathforum.org/library/drmath/view/69806.html – georg
Pas ce que je veux dire! un peu difficile à décrire ce que je suis en train de faire. – pixelscript
Toute chance d'obtenir ces "calculs finaux". –