rand_rotate {volesti} | R Documentation |
Given a convex H or V polytope or a zonotope as input this function applies a random rotation.
rand_rotate(P)
P |
A convex polytope. It is an object from class (a) Hpolytope or (b) Vpolytope or (c) Zonotope. |
Let P be the given polytope and Q the rotated one and T be the matrix of the linear transformation.
If P is in H-representation and A is the matrix that contains the normal vectors of the facets of Q then AT contains the normal vactors of the facets of P.
If P is in V-representation and V is the matrix that contains column-wise the vertices of Q then T^TV contains the vertices of P.
If P is a zonotope and G is the matrix that contains column-wise the generators of Q then T^TG contains the generators of P.
If M is a matrix that contains column-wise points in Q then T^TM contains points in P.
A list that contains the rotated polytope and the matrix of the linear transformation.
# rotate a H-polytope (2d unit simplex) P = GenSimplex(2,'H') poly_matrix_list = rand_rotate(P) # rotate a V-polytope (3d cube) P = GenCube(3, 'V') poly_matrix_list = rand_rotate(P) # rotate a 5-dimensional zonotope defined by the Minkowski sum of 15 segments Z = GenZonotope(3,6) poly_matrix_list = rand_rotate(Z)