# Is there a corresponding Rotate option like RotationTransform[{u,v},p]

RotationTransform has options RotationTransform[{u,v},p]

gives a rotation about the point p that transforms u to the direction of v.

But why there is only Rotate[g,{u,v}]

How to set the point p in Rotate?

• But there is a third argument (coordinate list} for Rotate which does just that... Nov 10 '15 at 17:28
• @YvesKlett I can't find it, which option do you mean? Nov 11 '15 at 0:56
• reference.wolfram.com/language/ref/Rotate.html Nov 11 '15 at 6:39
• @YvesKlett Er... I am really stupid now. But I can't find the exact same thing like RotationTransform[{u,v},p]. There is only Rotate[g,{u,v}] but without a reference point. And Rotate[g,θ,{u,v}] is totally different thing. Would you help me again? Nov 11 '15 at 7:08
• From the help: "Rotate[g,θ,{x,y}] rotates about the point". Nov 11 '15 at 8:06

You could translate the figure being rotated back and forth.

GeometricTransformation[g, RotationTransform[{u, v}, p]]


is equivalent to

Translate[Rotate[Translate[g, -p], {u, v}], p]


For example,

u = {1, 0};
v = {1, 1/5};
p = {1/3, 1/3};
g = Rectangle[];
Graphics[GeometricTransformation[g, RotationTransform[{u, v}, p]], Axes -> True]
Graphics[Translate[Rotate[Translate[g, -p], {u, v}], p], Axes -> True]


This works in both 2D and 3D.

• Rotate[g, VectorAngle[u, v], p]
– yode
Jan 28 '16 at 4:44