how to calculate tangent between circle and polynomial (from curve fit)

9 views (last 30 days)
Hi:
I have a known circle with x0,y0, and r, I also have a polynomial function from curve fitting result, is there any way to find the tangent line between those two? as well as the tangent point on each profile?
the curve fitting polynomia is attached, and the parameter of circle is:
x: 0.9439
y: 0.1063
r: 0.0537
Thank!
Yu

Accepted Answer

Matt J
Matt J on 21 Jan 2024
Edited: Matt J on 21 Jan 2024
The equation for the tangent to the polynomial is y=m(x1,y1)*x+b(x1,y1) where m(x1,y1) and b(x1,y1) are a function of the tangent point (x1,y1) and can easily be determined from calculus. Therefore, the tangent point on the circle must satisfy the two equations,
y2=m(x1,y1)*x2+b(x1,y1)
(x2-0.9439)^2+(y2-0.1063)^2=0.0537^2
Also, (x1,y1) must satisfy the polynomial equations
P(x1,y1)=0
And you have a 4th equation to express the fact that the normal vector to the tangent line is perpendicular to the tangent line,
(x2-0.9439)-m(x1,y1)*(y2-0.1063)=0
Four nonlinear equations in four unknowns. I expect there will be two solutions.
  1 Comment
Yu Li
Yu Li on 22 Jan 2024
thank you so much, I successfully find the solution based on your suggestions.
there are 6 tangent lines found as this is 3rd order polynomia.

Sign in to comment.

More Answers (0)

Categories

Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!