Given three points A, B and C on a circular arc, I want to get a parametric equation for them, where A is the starting point, C the end point and B the intermediate point on the Arc.
I started with a simple circular arc in the XZ plane, parametric in t
:
arcXZ = r {Cos[ω1 + t (ω2 - ω1)], 0, Sin[ω1 + t (ω2 - ω1)]};
Next I rotate and translate it into an arbitrary position
arc={cx, cy, cz} + RotationMatrix[ϕ, {0, 0, 1}].RotationMatrix[θ, {1, 0, 0}].arcXZ;
This gives me three equations, for A, B, and C respectively.
eq1 = arc /. t -> 0;
eq2 = arc /. t-> 1/2;
eq3 = arc /. t-> 1;
I'm trying to solve them using
Solve[
eq1 == {a1, a2, a3} &&
eq2 == {b1, b2, b3} &&
eq3 == {c1, c2, c3},
{cx, cy, cz, r, ϕ, θ, ω1, ω2}
]
But this runs now for over an hour without any result. How can I solve this?
I also tried adding the inequality r>0
and restricting the domain to Reals
in trial runs with simpler equations but that seemed to increase the runtime by a lot.
Responding to Carl Woll's comment. For
cx = 0,
cy = 0,
cz = 0,
ϕ = π/4,
θ = π/4,
ω1 = π/3,
ω2 = 3 π/4,
r = 10,
and t={0,1/2,1}
I get Circumsphere does not exist:
Circumsphere[{{10 (1/(2 Sqrt[2]) + Sqrt[3]/4),
10 (1/(2 Sqrt[2]) - Sqrt[3]/4),
5 Sqrt[3/2]}, {10 (1/2 Cos[\[Pi]/24] - Sin[\[Pi]/24]/Sqrt[2]),
10 (-(1/2) Cos[\[Pi]/24] - Sin[\[Pi]/24]/Sqrt[2]),
5 Sqrt[2] Cos[\[Pi]/24]}, {10 (-(1/2) + 1/(2 Sqrt[2])),
10 (-(1/2) - 1/(2 Sqrt[2])), 5}}]
Circumsphere
? $\endgroup$