Rotate a geometric structure by an angle theta around a centerpoint xy.
Rotate(x, y = NULL, mx = NULL, my = NULL, theta = pi/3, asp = 1)
The function invisibly returns a list of the coordinates for the rotated shape(s).
vectors containing the coordinates of the vertices of the polygon
, which has to be rotated. The coordinates can be passed in a plotting structure (a list with x and y components), a two-column matrix, .... See xy.coords
.
xy-coordinates of the center of the rotation. If left to NULL, the centroid of the structure will be used.
angle of the rotation
the aspect ratio for the rotation. Helpful for rotate structures along an ellipse.
Andri Signorell <andri@signorell.net>
polygon
, DrawRegPolygon
, DrawEllipse
, DrawArc
# let's have a triangle
Canvas(main="Rotation")
x <- DrawRegPolygon(nv=3)[[1]]
# and rotate
sapply( (0:3) * pi/6, function(theta) {
xy <- Rotate( x=x, theta=theta )
polygon(xy, col=SetAlpha("blue", 0.2))
} )
abline(v=0, h=0)
Run the code above in your browser using DataLab