• Advertisement
Sign in to follow this  

Arc center point

This topic is 4616 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

If I have the start and end points of an arc is there a way to find the center point, which is the center of rotation of the arc? Thanks.

Share this post


Link to post
Share on other sites
Advertisement
There are infinite solutions to a problem like that. Don't you have anything more than a starting point and an end point for the arc?

Share this post


Link to post
Share on other sites
Oh right. Actually I know the plane in which the arc is going to be drawn, I have all the vectors that establish the user coordinate system and normal of the arc. I am just having trouble finding the center point of rotation on the same plane that has the start/end points of the arc. That should only have a single solution right?

Share this post


Link to post
Share on other sites
A fun problem :)

a = start spoint
b = end point
c = center point

A triangle (a, b, c). One side has the length same as the distance between a and b. The other two sides have the length equal to the radius. The direction of the side from a to c is the same as the normal for the arc.

If you draw this on paper you should probably be able to solve it.

Share this post


Link to post
Share on other sites

Not really sure what you mean by...

"The direction of the side from a to c is the same as the normal for the arc."

When you say direction of the side from a to c, are you talking about a vector? If you are then how is it the same as the normal, when the normal of the arc is a vector perpendicular to the plane that contains the arc.

Share this post


Link to post
Share on other sites
Ok, I never heard of a normal to an arc before so I thought that it was the gradient for the start point. Well then we are bavk to the original state.

Consider the triangle in my last post and place it in a plane that has the normal as specified. With the info given, the radius which is equal to the length of side ac and the length of side bc can be any positive value bigger than half of the length of side ab and hence there are infinite number of solutions.

Share this post


Link to post
Share on other sites
Well actually bc would be the radius also and so you would end up with only one solution, not infinite.

Share this post


Link to post
Share on other sites
Well no, it can be anything.
It can be the diameter of an arc going from 0 to Pi.

Share this post


Link to post
Share on other sites
What if you were to set the condition that bc and ac had to be the radius, would that still result in infinitely many solutions?

Share this post


Link to post
Share on other sites
Do you also have the degree difference between start and end?

Share this post


Link to post
Share on other sites
Do you know the respective degrees of each of those points in the arc?
Lets supose you have 1/4 of a circle, and the arc is the 2 quadrant of the trignometric circle, the degrees of the points would be PI/2 and PI, and the difference would be PI/2.

Do you have that?

Share this post


Link to post
Share on other sites
If you are just given two points on a plane, any point that is at the same distance from both points could be a center (these points form a line that is perpendicular to the segment between the two points and that cuts this segment in the middle). If you know the radius, that narrows it down to 2 points.

What data do you have, exactly? Is this a 2D or a 3D problem? Can you give us an example situation (with concrete numbers)?

Share this post


Link to post
Share on other sites
All I have are two points on a plane, and the vectors with which to establish the coordinate system about that plane, and I need to somehow get another point on that plane that will represent the center point of a circle whose circumference passes through those two points.

Share this post


Link to post
Share on other sites
This is a 3d problem. Here are some points...

start point: X = 18.0000 Y = 0.0000 Z = 6.0000

end point: X = 16.6298 Y = 6.8883 Z = 12.0000

The following in this case would be the center point that would lie on the same plane as the above points.

center point: X = -82.9766 Y = -7.8989 Z = -0.8803

If we were to draw an arc from start to end point, while rotating about this center, then the distance from center to start and center to end would be equal, hence they would both be the radius of a circle.

I was wondering if there is an algorithmic way to find this point.

Share this post


Link to post
Share on other sites
Quote:
Original post by kelaklub
This is a 3d problem. Here are some points...

start point: X = 18.0000 Y = 0.0000 Z = 6.0000

end point: X = 16.6298 Y = 6.8883 Z = 12.0000

The following in this case would be the center point that would lie on the same plane as the above points.

center point: X = -82.9766 Y = -7.8989 Z = -0.8803

If we were to draw an arc from start to end point, while rotating about this center, then the distance from center to start and center to end would be equal, hence they would both be the radius of a circle.

I was wondering if there is an algorithmic way to find this point.


no, there is not, because any algorithm aimed at finding such a point could return any of the infinitly many points that statisfy your demands, making the change of it finding that specific point rather unlikely.

why not just pick the centre at infinity? ok your radius will be infinite, and your arc a straight line, but thats also a correct solution the way you state the problem.

i think youre forgetting something. that normal vector you mentioned: are you sure its not a tangent vector at one of the points? that would give us something to work with..

Share this post


Link to post
Share on other sites
I think that you guys have given alot to think about. I appreciate it. I'm gonna take another look at this problem and see if there is some given information that I may have tosed as irrelevant. Thanks for everything.

Share this post


Link to post
Share on other sites
Quote:
the distance from center to start and center to end would be equal, hence they would both be the radius of a circle.


Do you want a half circle??
if not you need a radius or you have infinite solutions.

Share this post


Link to post
Share on other sites
Quote:
Original post by robert_p
Quote:
the distance from center to start and center to end would be equal, hence they would both be the radius of a circle.


Do you want a half circle??
if not you need a radius or you have infinite solutions.


what is that supposed to mean?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement