# How to draw an Arc in the direction you want? (with known radius, centre and angle)

51 visualizaciones (últimos 30 días)
ErikJon Pérez Mardaras el 9 de Nov. de 2020
Editada: ErikJon Pérez Mardaras el 10 de Nov. de 2020
I'm trying to draw an arc between 350º and 0º angles, but the point is that I would like to draw it in counter-clock wise. What is the general method of drawing an arc in matlab in the direction you want?
The code I have written is the following:
hold on
grid
axis equal
angini=350; %initial angle of the arc in degrees
angfin=0; %final angle of the arc in degrees
centre=[0;0]; %centre of the arc
teta = linspace(rangini,rangfin);
yco = centre(2)+radius*sin(teta); % y coordinates
plot(xco,yco,'g') %plot the arc
And the result, as you can see, is the following:
It drew the arc in a clockwise direction, not in a counterclock one. What is the general method of drawing an arc in matlab in the direction that you like?
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Respuestas (1)

Steven Lord el 9 de Nov. de 2020
Use an ending angle of 360 degrees rather than an angle of 0 degrees. You can skip the deg2rad calls by using the degree-based trig functions cosd and sind. I also chose to change some of the variable names to make them a bit more descriptive. With those names you could argue the comments are unnecessary.
hold on
grid
axis equal
angleInitial=350; %initial angle of the arc in degrees
angleFinal=360; %final angle of the arc in degrees
centre=[0;0]; %centre of the arc
theta = linspace(angleInitial,angleFinal);
ycoords = centre(2)+radius*sind(theta); % y coordinates
plot(xcoords,ycoords,'g') %plot the arc
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
ErikJon Pérez Mardaras el 9 de Nov. de 2020
Editada: ErikJon Pérez Mardaras el 9 de Nov. de 2020
Thanks for the repply, but I am looking for a general answer for a general issue. Imagine that, instead of wanting to draw an arc from 350º to 0º(or 360º) I would like to draw an arc from 170º to 220º but in a clockwise direction instead of a counterclock one (which is what Matlab would do in this case).
As you can see in the following image, Matlab draws me that arc in a counterclock wise direction.
Is the same case as before. How I could draw arcs in the directions I want? Is there any way?

Iniciar sesión para comentar.

### Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

R2019b

### Community Treasure Hunt

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

Start Hunting!

Translated by