MATLAB程序求切点,已知一圆和圆外一点,求过点的圆的切点
1个回答
展开全部
代码:
x0=1;y0=2;%圆心坐标
r0=3;%圆半径
x1=5;y1=2+3;%点的坐标
k1=(y0*x0+y1*x1-y0*x1-y1*x0+(r0^2*(-2*y0*y1-2*x0*x1+y1^2+y0^2+x0^2-r0^2+x1^2))^(1/2))/(-r0^2+x0^2-2*x0*x1+x1^2)
k2= (y0*x0+y1*x1-y0*x1-y1*x0-(r0^2*(-2*y0*y1-2*x0*x1+y1^2+y0^2+x0^2-r0^2+x1^2))^(1/2))/(-r0^2+x0^2-2*x0*x1+x1^2)
x_1=(-k1*y1+x0+k1^2*x1+y0*k1)/(1+k1^2)
y_1 =-(-y1-k1*x0-y0*k1^2+k1*x1)/(1+k1^2)
x_2=(-k2*y1+x0+k2^2*x1+y0*k2)/(1+k2^2)
y_2 =-(-y1-k2*x0-y0*k2^2+k2*x1)/(1+k2^2)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询