本帖最后由 作者 于 2008-7-14 9:22:26 编辑
P1 (getpoint "\n请输入第一点:")   2 (getpoint "\n请输入第二点:")   3 (getpoint "\n请输入第三点:") 输入三个点; P1X (car P1)   1Y (cadr P1)   2X (car P2)   2Y (cadr P2)   3X (car P3)   3Y (cadr P3) 获得三个点的x,y坐标值; D (* 2.0 (+ (* P1Y P3X) (* P2Y P1X) (- (* P2Y P3X)) (- (* P1Y P2X)) (- (* P3Y P1X)) (* P3Y P2X) ) ) 算出固定的系数(请自学解析几何); XC (/ (+ (* P2Y P1X P1X) (- (* P3Y P1X P1X)) (- (* P2Y P2Y P1Y)) (* P3Y P3Y P1Y) (* P2X P2X P3Y) (* P1Y P1Y P2Y) (* P3X P3X P1Y) (- (* P3Y P3Y P2Y)) (- (* P3X P3X P2Y)) (- (* P2X P2X P1Y)) (* P2Y P2Y P3Y) (- (* P1Y P1Y P3Y)) ) D ) 算出圆心的x坐标值(也是解析几何的算法) RAD (sqrt (+ (* (- P1X XC) (- P1X XC)) (* (- P1Y YC) (- P1Y YC)) ) ) 按圆心和第一点的坐标算出圆半径,这个简单。 |