poj1329解题报告

赤裸裸的求三角形外接圆,即根据三点坐标确定圆心坐标和圆的半径。

圆的半径=a*b*c/(4*s)(a,b,c分别为三角形的三边长,s是三角形的面积)。

s=a*b*sinA/2

2*r*sinA=a   (画图,构造直角三角形,同弧对同圆周角可证)

由上两式则可推出半径的公式。

 

圆心坐标。设三角形的三个顶点坐标为(ax,ay,(bx,by),(cx,cy);圆心坐标为(rx,ry).

由圆心到三顶点距离相等,可以得到:

(rx-ax)^2+(ry-ay)^2=(rx-bx)^2+(ry-by)^2

(rx-ax)^2+(rx-ay)^2=(rx-cx)^2+(ry-cy)^2

 

 

以上两式消去ry,化简得:

C1(ay-cy)-C2(ay-by)+(ay-by)(cx-ax)rx-(ay-cy)(bx-ax)rx=0

其中C1=ax^2+ay^2-(bx^2+by^2);C2=ax^2+ay^2-(cx^2+cy^2).

同理消去rx,可以解出ry.

 

下面的代码中,Distance原为distance,但是G++中已经定义了distance,导致重名,编译报错。

感谢此文http://hi.baidu.com/%BF%C6%B9%A4ers/blog/item/9b4f13111fd9527acb80c4e9.html解惑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值