How to draw an Arc in the direction you want? (with known radius, centre and angle)
36 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
rangini=deg2rad(angini); %initial angle of the arc in radians
rangfin=deg2rad(angfin); %final angle of the arc in radians
centre=[0;0]; %centre of the arc
radius=10; %radius of the arc
teta = linspace(rangini,rangfin);
xco = centre(1)+radius*cos(teta); %x coordinates
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 Kommentare
Antworten (1)
Steven Lord
am 9 Nov. 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
radius=10; %radius of the arc
theta = linspace(angleInitial,angleFinal);
xcoords = centre(1)+radius*cosd(theta); %x coordinates
ycoords = centre(2)+radius*sind(theta); % y coordinates
plot(xcoords,ycoords,'g') %plot the arc
1 Kommentar
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!