If I have some shapes defined using arrays of coordinates e.g.
[[-30, -30], [-30, 30], [30, 30], [30, -30]]
and edges defined using:
[[0,1],[0,3],[1,2],[2,3]]
to make a square.
How do I programmatically tell the shape to rotate *at the center against an angle of 0->359 in javascript?
*Or better yet, is there a function which allows me to choose the center of rotation?
** Currently, I've managed to get the shape to circle the canvas using :
var x_rotate = Math.sin(angle * Math.PI /180);
var y_rotate = Math.cos(angle * Math.PI /180);
// for each coordinate
//add x_rotate and y_rotate if coordinate > 0 or subtract if coordinate < 0
use css transition and change transform by javascript
https://www.w3schools.com/cssref/css3_pr_transform.asp
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions
Here you go, rotates point
x, y
around pointcenterx, centery
bydegrees
degrees. Returns floating values, round if you need to.To rotate a shape, rotate all the points. Calculate the center if you need to, this does not do it.
Desmos link with
x
asa
,y
asb
,centerx
asp
,centery
asq
, anddegrees
ass
You could use a formular for rotating the point around the origin.