您的位置:首页 > 编程语言 > Python开发

使用python 在已知圆弧两个端点和中点坐标 计算圆弧的圆心坐标

2012-12-07 09:29 2156 查看
代码中x1 y1是端点1 ,x3 y3是端点2,x2 y2是中点。

# -*- coding:utf-8 -*-

#use to caculator the arc center from the three point

def getCenter(x1,y1,x2,y2,x3,y3):

# x1 = 55.962697

# y1 = 12.807461

# x2 = 53.49

# y2 = 25.11

# x3 = 43.0

# y3 = 32.0

a = (x1 -x2)*(x1-x2)*(x1-x3)

b = (x1 -x2)*2*y2*(y1-y3)

c = a - b

d = (pow(y2,2)-pow(y1,2))*(x1-x3)

e = (y1-y2)*(x1-x3)

f = (y1-y3)*(x2-x1)

g = 2*(e+f)

if g == 0:

print "Caculator error"

return False

y0 = (c-d) / g

print "y0",y0

i = 2*y0*(y1-y2)

j = (pow(y2,2)-pow(y1,2)) + (pow(x2,2)-pow(x1,2))

k = i + j

l = 2*(x2-x1)

if l == 0:

print "Caculator error"

return False

x0 = k / l

print "x0",x0

return (x0,y0)

# 程序入口

if (__name__=="__main__"):

getCenter(1,0,0,1,-1,0)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐