Need intersection advice please

markraz

Full Member
Joined
Feb 19, 2014
Messages
338
Hi, I want to find the intersection of 2 circles in 3D. What are some easy methodologies to do this? do you use vector functions or something else??
The circles may or may not be coplanar.

thanks in advance
 
Last edited:
What is/are the general form(s) of the equation of a circle in space?
Once you state that then we can talk about finding points of intersections between two circles.
 
Hi, I want to find the intersection of 2 circles in 3D. What are some easy methodologies to do this? do you use vector functions or something else??
The circles may or may not be coplanar.

thanks in advance
I think the easiest method will depend on the form in which the circles are defined (what data you have, e.g. their equations, vs. their centers, normal vectors, and radii).

The hardest part may be the fact that in general circles will not intersect at all (exactly), so you are probably looking for intersections within some tolerance. One approach to deal with that might be to find the minimum distance between the circles, and accept that as an intersection if the distance is small enough. On the other hand, it's possible that there will be two intersections, so you need to handle that.
 
What is/are the general form(s) of the equation of a circle in space?
Once you state that then we can talk about finding points of intersections between two circles.
thanks I have bunch of formulas.

parametric form ??
x = radius *cos(t)
y = radius *sin(t)
z = 1;


also have used this for 2d

(x - a)^2 + (y - b)^2 = r^2


also used this in the past

x^2 + y^2 + Dx +Ey + F = 0

I sort of understand all these and have used them with success

thanks
 
Last edited:
I think the easiest method will depend on the form in which the circles are defined (what data you have, e.g. their equations, vs. their centers, normal vectors, and radii).

The hardest part may be the fact that in general circles will not intersect at all (exactly), so you are probably looking for intersections within some tolerance. One approach to deal with that might be to find the minimum distance between the circles, and accept that as an intersection if the distance is small enough. On the other hand, it's possible that there will be two intersections, so you need to handle that.
Thanks Dr, Do you think this answer here is correct? and can the same methodology be extend to 3d?

"Hint: Since the circles are disjoint, find the distance between the two centers and subtract the two radii."

thanks
 
thanks I have bunch of formulas.

parametric form ??
x = radius *cos(t)
y = radius *sin(t)
z = 1;


also have used this for 2d

(x - a)^2 + (y - b)^2 = r^2


also used this in the past

x^2 + y^2 + Dx +Ey + F = 0

I sort of understand all these and have used them with success

thanks
The last two are basically the same.
 
thanks I have bunch of formulas.

parametric form ??
x = radius *cos(t)
y = radius *sin(t)
z = 1;

(x - a)^2 + (y - b)^2 = r^2

x^2 + y^2 + Dx +Ey + F = 0
Only the first of these is in 3D, and that is only for a very particular circle. None of these are what you need to use for the kind of problem you are asking about.

In your actual problem, what are you given about the circles? That's the first thing we need to know.

Thanks Dr, Do you think this answer here is correct? and can the same methodology be extend to 3d?

"Hint: Since the circles are disjoint, find the distance between the two centers and subtract the two radii."

thanks
The 3D problem, as I suggested, is ENTIRELY different from the 2D problem. Nothing said there is at all relevant, because if the circles are not in the same plane, none of the ideas used there are valid.
 
Only the first of these is in 3D, and that is only for a very particular circle. None of these are what you need to use for the kind of problem you are asking about.

In your actual problem, what are you given about the circles? That's the first thing we need to know.


The 3D problem, as I suggested, is ENTIRELY different from the 2D problem. Nothing said there is at all relevant, because if the circles are not in the same plane, none of the ideas used there are valid.
Thanks I don't really have any actual circles yet but I'm thinking something like this pic below. Pretend that all these arcs are actual circles (I made them arcs for clarity, I also realize they are not cleanly intersecting in my crude photo, assume they all cleanly intersect).

All these circles have the same center point (sort of similar to a gimbal lock). Each circle will always intersect each of the other circles at 2 points


1607754590894.png

So for example, consider finding just the green and pink colored circles' intersections. I'm wondering if I intersect their planes ( I already know their plane equations), Maybe I can find the line of intersection (light blue line). Then maybe I can find the intersection of the blue line and the pink/green circles? is that a possible solution to the problem? or is there an easier way? If so, is it difficult to find the intersection of a line an circle in 3D?

1607754909483.png
 
Last edited:
So for example, consider finding just the green and pink colored circles' intersections. I'm wondering if I intersect their planes ( I already know their plane equations), Maybe I can find the line of intersection (light blue line). Then maybe I can find the intersection of the blue line and the pink/green circles? is that a possible solution to the problem? or is there an easier way? If so, is it difficult to find the intersection of a line an circle in 3D?
Yes, that was one of the possibilities I initially had in mind. Having the same center and radius makes the problem far easier than the original question! In fact, once you find the line of intersection of the planes, you just have to move R in each direction along it and you have the intersections. And if the circles were defined by their normal vectors, you just need to cross product of those and you have the vectors along which to move.
 
thanks appreciate it, what do you mean by "move R"
I meant "move by a distance R", the radius of the circles. So you would find the cross product of the normal vectors, scale the resulting vector to that length, and add and subtract that to the center to find the two intersections.
 
I meant "move by a distance R", the radius of the circles. So you would find the cross product of the normal vectors, scale the resulting vector to that length, and add and subtract that to the center to find the two intersections.
Thanks that makes sense. appreciate it
 
I meant "move by a distance R", the radius of the circles. So you would find the cross product of the normal vectors, scale the resulting vector to that length, and add and subtract that to the center to find the two intersections.
Hi me again. Your solution worked out great! thanks so much. I do have one more question. When I take the cross product of the plane normals the vector it generates goes in a specific direction. I know I can easy flip it if needed. How/why does the cross product vector go in the default direction that it does? is this a left/right hand rule thing? thanks
 
Hi me again. Your solution worked out great! thanks so much. I do have one more question. When I take the cross product of the plane normals the vector it generates goes in a specific direction. I know I can easy flip it if needed. How/why does the cross product vector go in the default direction that it does? is this a left/right hand rule thing? thanks
Yes, it's the right-hand rule, which is essentially just an arbitrary part of the definition (but arises naturally because that is how the x, y, and z axes are traditionally arranged). In your case you want to use both signs anyway, so it makes no difference.
 
Top