How can I rotate a curved rectangle?

I have created a curved rectangle and now I want to rotate it. I know I can not rotate using rectangle commande. I also tried to plot the rotated rectangle using "fill" but then I can not add curvature.
So, the question is, How can I plot a rotated curved rectangle?

2 comentarios

Adam Danz
Adam Danz el 10 de En. de 2021
Editada: Adam Danz el 22 de Mzo. de 2021
rectangle2() from the file exchange can rotate a curved rectangle.
rectangle2([x,y,w,h],'Curvature',[a,b],'Rotation',deg);
Examples:
Antje Nuthmann
Antje Nuthmann el 20 de Mzo. de 2021
rectangle2 works well, thanks!

Iniciar sesión para comentar.

Respuestas (2)

Friedrich
Friedrich el 10 de Abr. de 2013

0 votos

HI,
so you have a set of points (x,y) describing a curved rectangle. I guess the keyword here is rotation matrix:
Create the Matrix accoringly and multiple it with your (x,y) values to get the rotated rectangle.

6 comentarios

Laleh
Laleh el 10 de Abr. de 2013
But the problem is the command "rectangle" does not support rotation. There is no way, I guess, to rotate a rectangle using the commande "rectangle".
Friedrich
Friedrich el 10 de Abr. de 2013
Yes in that case no chance. You would need do draw that rectangle by yourself to get x,y points and then rotate it by your own or using the rotate function.
Laleh
Laleh el 10 de Abr. de 2013
What do you mean by rotate function? Let's say I have my rotated (x,y) values. If I give these values to function "fill" I will have a nice rotated rectangle. Having these values what is the code to plot the curved rectangle?
Friedrich
Friedrich el 10 de Abr. de 2013
The rotate function can rotate graphic objects:
But not a rectangle object :(
Laleh
Laleh el 10 de Abr. de 2013
Yes that is my point, so what should I do now? :(
Friedrich
Friedrich el 11 de Abr. de 2013
You need to create your own version of the rectangle function which calculates the curved rectangle from scratch. Afterwards you can plot it an rotate it.

Iniciar sesión para comentar.

Rafal Samborski
Rafal Samborski el 10 de Abr. de 2013
Editada: Rafal Samborski el 10 de Abr. de 2013
If it's ony about plotting try to call this after your plot function:
alpha = 30; set(gca, 'View', [alpha 90]);

1 comentario

Laleh
Laleh el 10 de Abr. de 2013
After the "rectangle" command when I add your code, it rotates the axis of the plot, and does not show anything inside, just white plot!!!

Iniciar sesión para comentar.

Preguntada:

el 10 de Abr. de 2013

Editada:

el 22 de Mzo. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by