2017-01-16 4 views
-2

Ich versuche, eine Form mit Matlab zu zeichnen. Hier muss ich Bögen verbinden. Ich habe arc folgenden CodeMatlab Join 2 Bögen

circr = @(radius,rad_ang) [radius*cos(rad_ang); radius*sin(rad_ang)];   % Circle Function For Angles In Radians 

N = 25;               % Number Of Points In Complete Circle 

r_angl = linspace(pi/2, 5*pi/4, N);        % Angle Defining Arc Segment (radians) 

radius = 0.5;             % Arc Radius 
xy_r = circr(radius,r_angl);         % Matrix (2xN) Of (x,y) Coordinates 

figure(1) 
plot(xy_r(1,:), xy_r(2,:)) 

axis([-1.25*radius 1.25*radius 0 1.25*radius]) 

erzeugt folgenden Code Ausgabe

Output Image

Jetzt habe ich Code geändert anderen Bogen zu zeichnen

circr = @(radius,rad_ang) [radius*cos(rad_ang); radius*sin(rad_ang)];   % Circle Function For Angles In Radians 
N = 25;               % Number Of Points In Complete Circle 
r_angl = linspace(pi/2, 5*pi/4, N);        % Angle Defining Arc Segment (radians) 

radius = 0.5;             % Arc Radius 
xy_r = circr(radius,r_angl);         % Matrix (2xN) Of (x,y) Coordinates 




r_angl1 = linspace(4*pi/4,pi/4);        % Angle Defining Arc Segment (radians) 

radius1 = 0.1;             % Arc Radius 
xy_r1 = circr(radius1,r_angl1);         % Matrix (2xN) Of (x,y) Coordinates 


figure(1) 
plot(xy_r(1,:), xy_r(2,:),xy_r1(2,:),xy_r1(1,:))         
axis([-1.25*radius 1.25*radius 0 1.25*radius])    % Set Axis Limits 

axis equal 

Dieser Code erzeugt Output 2

Wie kann ich beide Bögen verbinden? ? Ich muss verbinden sie ihre Endpunkte mit

+1

Es ist unklar, was Sie versuchen, erreichen. Wollen Sie gerade Linien zwischen den beiden Bögen zeichnen? – DMR

+0

@DMR Ich möchte Endpunkte von Bogen verbinden –

Antwort

-1

die folgenden Zeilen einfügen wird Gelenk die Endpunkte mit Linien

hold on; 
line([xy_r(1,1) xy_r1(1,end)], [xy_r(2,1) xy_r1(2,end)]); 
line([xy_r(1,end) xy_r1(2,1)], [xy_r(2,end) xy_r1(1,1)]); 

zusammen:

figure(1) 
plot(xy_r(1,:), xy_r(2,:),xy_r1(2,:),xy_r1(1,:)) 
hold on; 
line([xy_r(1,1) xy_r1(1,end)], [xy_r(2,1) xy_r1(2,end)]); 
line([xy_r(1,end) xy_r1(2,1)], [xy_r(2,end) xy_r1(1,1)]); 

axis([-1.25*radius 1.25*radius 0 1.25*radius]) % Set Axis Limits 
axis equal 

enter image description here