方法一、弦长=│x1-x2│√(k^2+1)=│y1-y2│√[(1/k^2)+1]
其中k为直线斜率,(x1,y1),(x2,y2)为直线与曲线的两交点,"││"为绝对值符号,"√"为根号证明方法如下:
假设直线为:y=kx+b圆的方程为:(x-a)^+(y-u)^2=r^2
假设相交弦为ab,点a为(x1.y1)点b为(x2.y2)则有ab=√(x1-x2)^2+(y1-y2)^把y1=kx1+b.y2=kx2+b分别带入,则有:ab=√(x1-x2)^2+(kx1-kx2)^2=√(x1-x2)^2+k^2(x1-x2)^2=√1+k^2*│x1-x2│证明aby1-y2│√[(1/k^2)+1]
的方法也是一样的
方法二、知道直线方程ax+by+c=0和圆的方程(x-a)^2+(y-b)^2=r^2:
先算圆心到直线的距离:
d=|a*a+b*b+c|/根号下(a^2+b^2)
再用勾股定理计算弦长:
l=2*根号下(r^2-d^2)