Find arc midpoint in 3D given start, end, center, normal and rotation direction

algebra-precalculusarc lengthcirclesgeometry

I have an circular arc on a plane in 3D space where I have the start point (x, y, z), end point (x, y, z), center point (x, y, z) as well as the normal to plane the arc is on and the direction of rotation from this normal (clockwise vs not). The center point is the point from which all points along the arc are equidistant.

I believe this is enough information to have to find the mid-point but I'm struggling with how.

I was intending to create a line segment from the arc center point that is perpendicular to the chord created between the start and end point. If this line is one radius long then the end point will be the mid-point of the arc or just empty space.

The arc may be more than 180 degrees, less or exactly 180. I do not before beginning any kind of calculation.

Thank you for any assistance.

Best Answer

Assuming the arc starts at $A$ and ends at $B,$ with center $C,$ we see something like the figure below if we look at the plane of the circular arc from a perpendicular direction:

enter image description here

If we suppose that the given normal vector $\vec n$ is pointing directly at us, then the arc from $A$ to $B$ is in a counterclockwise direction.

You idea about finding a vector perpendicular to the vector $\vec{AB}$ is a good idea. For a counterclockwise rotation around the normal vector $\vec n,$ we can take the cross product $$\vec v = \vec{AB} \times \vec n.$$ The cross product ensures that $\vec v$ not only is perpendicular to $\vec{AB}$ but also that it is orthogonal to $\vec n$ and therefore is in the plane of the circular arc.

Multiply the vector $\vec v$ by the necessary positive scalar to make its length equal the radius of the circular arc, and then you have the vector $\vec CM,$ which you can use to find $M$ knowing $C.$

If the rotation is clockwise instead of counterclockwise, just reverse the direction of $\vec v$ in the procedure above.