本帖最后由 作者 于 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)) ) ) 按圆心和第一点的坐标算出圆半径,这个简单。 |