# the arc using the chord

8 views (last 30 days)

Show older comments

Hello Dears

Is it possible to draw an arc using only the chord in front of it without any other information?

##### 9 Comments

Catalytic
on 20 Feb 2024

Is it possible to draw an arc using only the chord in front of it

Several problems -

- Not all arcs are circular, although the others seem to have assumed that's what you mean.
- There is no unique circle passing through two given chord tips (see also David Goodmanson).
- A chord has no "front". You will need to decide somehow on which side of the line segment the arc is supposed to run.

### Answers (2)

Matt J
on 20 Feb 2024

Edited: Matt J
on 20 Feb 2024

Assume the chord is of length L and, with no loss of generality, assume also that it is aligned with the x-axis with end points at ±L/2. Let the user select any 3rd point on the y-axis [0,b]. Then you can use circularFit from this FEX download to render the circular arc running through all three points,

Once you've done this, you can rotate translate the points to any desired position off the x-axis.

L=10; b=2; %User input

xy=[-L/2,0;+L/2,0;0,b]';

plot( circularFit(xy) )

##### 6 Comments

Matt J
on 20 Feb 2024

John D'Errico
on 20 Feb 2024

Your question is far too general, too vague to have an answer.

There are infinitely many "arcs" that will pass through two points. Even if we assume specifically circular arcs, there are infinitely many such arcs, as the radius of that circle can be almost anything. So, is it possible? Um, no. There is no unique circular arc, given only a chord. As such, "THE" arc cannot be drawn, since it is not unique.

Worse, even if you know the radius of the circle you would choose, assuming that the radus is validly chosen, there are always FOUR possible circular arcs for any chord. So again, no, it is not possible to choose between them. (You might guess there are two, but in fact, there are four possible circular arcs. Think about it. Two of the possible arcs are longer than the other two arcs.) For example, consider the chord connecting two points, I'll choose them arbitrarily as (0,0) and (1,1). Pick a circular radius of 5 units. (I chose 5 units her because it allows the centers to be integers. And I needed to solve a variation of the Pell equation to know that, specifically one of the form 2*R^2-1==z^2. Here we are interested in integer solutions for R.) Anyway, there are two possible circles we might care about, each of which can supply two potential arcs.

R = 5;

syms x y cx cy

Circ = (x - cx)^2 + (y - cy)^2 == R^2;

cxy = solve(subs(Circ,[x,y],[0 0]),subs(Circ,[x,y],[1 1]),[cx,cy])

cxy.cx

cxy.cy

So those represent the two possible circles that have the indicated chord, AND have a radius of 5 units. We can draw the circles and the chord as...

t = linspace(0,2*pi);

plot([0 1],[0 1],'k-o',4 + R*cos(t),-3 + R*sin(t),'r-',-3 + R*cos(t),4 + R*sin(t),'r-')

axis equal

Again, there are 4 such possibe arcs drawn there.

If you further specify you desire the shorter of those potential circular arc for a given radius and a given chord, there are still two such arcs, and no valid way to choose between them, as they have the same arc length. So again, you still will not have sufficient information to decide between them.

So is it possible to draw an arc? Well, yes, in theory. But to do so automatically, no. You have not provided sufficient information.

### See Also

### Categories

### Products

### Community Treasure Hunt

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

Start Hunting!