2017-01-16 10 views
-2

私はmatlabを使って形を描こうとしています。ここで私はアークに参加する必要があります。私は、次のコードMatlabが2弧を結ぶ

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]) 

コードは次のように出力

Output Image

を生成を使用して円弧を作成した今、私はこのコードはOutput 2

方法を生成し、他の弧を描くように

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 

を、コードを修正しました私は両方のアークに参加できますか? ?私は、次の行を挿入し、そのエンドポイント

+1

それはあなたがしようとしているものは不明です達成するために。 2つのアークを結ぶ直線を描きたいですか? – DMR

+0

@DMR円弧の端点に加わりたい –

答えて

-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)]); 

一緒ラインとエンドポイント:

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

関連する問題