Drawing an arc between two elements?

I want to draw an arc (given its centre and its radius) between two elements.
For example the case given in the image below. I would like to draw an arc (of radius 0.5 (as an example) and the centre de point P drawed) strictly between those two lines
What is the general case of doing it? I mean, in this particular case there are two lines, but I would like a method that would work for whatever elements between I'd want to draw an arc (between a circle and a line, between two circles...etc).

2 Comments

You have not commented on your previous question...
If the answer worked for you..you have to acknowledge the users who have helped you. With out closing that question, you are asking another question similiar ti it?

Sign in to comment.

 Accepted Answer

L1=[1 3;
1 6]
L2=[-2 2;
8 -1]
P=InterX(L1,L2);
L = [L2(:,1) P L1(:,2)] ;
p = polyfit(L(1,:),L(2,:),2) ;
xi = linspace(min(L(1,:)),max(L(1,:))) ;
yi = polyval(p,xi) ;
figure
hold on
plot(L1(1,:),L1(2,:),'r')
plot(L2(1,:),L2(2,:),'b')
plot(P(1),P(2),'ro')
plot(xi,yi,'k')

7 Comments

The arc I`m looking for is that one in green:
Okay...get the angles...th1 and th2.
th = linspace(th1,th2);
xc = r*cos(th) ;
yc = r*sin(th) ;
You can use slope formula to get angles.
I tried it out in a blank grpah just to try. th1 and th2 are 90º. I tried that code and it didn`t work
The code I entered was that:
axis equal
hold on
th = linspace(0,90);
xc = 0.5*cos(th) ;
yc = 0.5*sin(th) ;
plot(xc,yc,'r')
Your th is in degrees.....
th = linspace(0,pi/2);
xc = 0.5*cos(th) ;
yc = 0.5*sin(th) ;
plot(xc,yc,'r')
Thanks! I didn't realised. However, how do you stablish the centre of the arc? In the example given, the arc is drawn with a 0.5 radius, from 0º to 90º. But the centre is the 0.
How can I make the centre to be, for example, the coordinate 2,10? or the intersec point of two lines?
xc = 2+0.5*cos(Th) ;
yc = 10+0.5*sin(th) ;

Sign in to comment.

More Answers (0)

Products

Release

R2019b

Community Treasure Hunt

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

Start Hunting!