三角形的外心公式

三角形的外心公式

已知三角形的三顶点: ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_1,y_1),(x_2,y_2),(x_3,y_3) (x1,y1),(x2,y2),(x3,y3)求外心。

思路:利用外心到顶点距离相等,可列出两个等式,联立消元即可。

令: d 1 = ( x 2 2 + y 2 2 ) − ( x 1 2 + y 1 2 ) , d 2 = ( x 3 2 + y 3 2 ) − ( x 2 2 + y 2 2 ) d_1=(x_2^2+y_2^2)-(x_1^2+y_1^2),d_2=(x_3^2+y_3^2)-(x_2^2+y_2^2) d1=(x22+y22)(x12+y12),d2=(x32+y32)(x22+y22)

f m = 2 ( ( y 3 − y 2 ) × ( x 2 − x 1 ) − ( y 2 − y 1 ) × ( x 3 − x 2 ) ) fm=2((y_3-y_2)\times(x_2-x_1)-(y_2-y_1)\times(x_3-x_2)) fm=2((y3y2)×(x2x1)(y2y1)×(x3x2))

⇒ x = ( y 3 − y 2 ) × d 1 − ( y 2 − y 1 ) × d 2 f m \Rightarrow x=\dfrac{(y_3-y_2)\times d_1-(y_2-y_1)\times d_2}{fm} x=fm(y3y2)×d1(y2y1)×d2

⇒ y = ( x 2 − x 1 ) × d 2 − ( x 3 − x 2 ) × d 1 f m \Rightarrow y=\dfrac{(x_2-x_1)\times d_2-(x_3-x_2)\times d_1}{fm} y=fm(x2x1)×d2(x3x2)×d1

#define db double
#define pdd pair<double,double>
pdd fun(pdd a,pdd b,pdd c){
	db fm = a.x*(b.y-c.y)-a.y*(b.x-c.x)+(b.x*c.y-b.y*c.x);
	db t1=(a.x*a.x+a.y*a.y)/2;
	db t2=(b.x*b.x+b.y*b.y)/2;
	db t3=(c.x*c.x+c.y*c.y)/2;
	db u = t1*(b.y-c.y)-a.y*(t2-t3)+(t2*c.y-t3*b.y);
	db v = a.x*(t2-t3)-t1*(b.x-c.x)+(b.x*t3-c.x*t2);
	return make_pair(u/fm,v/fm);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷酷的Herio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值