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

18 次查看(过去 30 天)
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

采纳的回答

Matt J
Matt J 2024-1-21
编辑:Matt J 2024-1-21
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 个评论
Yu Li
Yu Li 2024-1-22
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polynomials 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by