How would I get 4 points rotated a certain degrees around a pointer to form a rectangle? I can rotate a point around a point, but I can't offset it to make a rectangle that isn't distorted.
Precisely speaking: A rotation of about a given point takes each point on a shape and moves it to such that is on the circle with center and radius O P ¯ and. Informally: To rotate a shape, move each point on the shape the given number of degrees around a circle centered on the point of rotation.
To rotate a shape or object means to spin it around a specific point (center), without moving it in any other way. Rotation does not affect size or shape.
If you can rotate a point around a point then it should be easy to rotate a rectangle - you just rotate 4 points.
Here is a js function to rotate a point around an origin:
function rotate_point(pointX, pointY, originX, originY, angle) {
angle = angle * Math.PI / 180.0;
return {
x: Math.cos(angle) * (pointX-originX) - Math.sin(angle) * (pointY-originY) + originX,
y: Math.sin(angle) * (pointX-originX) + Math.cos(angle) * (pointY-originY) + originY
};
}
And then you can do this to each point. Here is an example: http://jsfiddle.net/dahousecat/4TtvU/
Change the angle and hit run to see the result...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With