注册 登录
编程论坛 新人交流区

[求助]求该三角形的内切圆

zhouxiang 发布于 2007-10-16 20:33, 879 次点击

请问高手一下,若已知三角形的三个顶点,怎样求该三角形的内切圆(可以计算机编程实现,精度有一定的要求)????

7 回复
#2
mucao2007-10-16 21:47
可以将问题具体一点吗? 是已知三角形三个顶点坐标求内切圆的圆心坐标、还是圆面织?
#3
zhiquan9112007-10-16 22:08
用圆规算了
#4
mucao2007-10-16 22:24
先解决以下数学上的问题:基本的思路是先求任意一条中线的方程,然后再利用2:1的比例,求出内心的坐标。
#5
mucao2007-10-17 18:06
更正一个错误:先求任意一条中线的方程,然后再利用2:1的比例,求出的坐标是重心坐标,而不是内心坐标.
#6
南山菊2007-10-17 18:12
如果是求面积就简单了,先用海伦公式求出面积,再用该面积除以周长的一半就成
#7
mucao2007-10-17 18:20

只是找到思路.

三角形三个顶点的坐标:A(x1,y1),B(x2,y2),C(x3,y3).

先求出三角形面积s=|(x2-x1)(y3-y1)-(x3-x1)(y2-y1)|/2以及三边的长度AB,BC,CA;

半周长p=(AB+BC+CA)/2;

内切圆半径r=s/p;

求出半径后就可以求圆面积;

然后是求内心坐标(x,y), 这个可以直接代入公式:

x=(x1*BC+x2*CA+x3*AB)/(AB+BC+CA);

y=(y1*BC+y2*CA+y3*AB)/(AB+BC+CA).

是一个轮换对称的公式.

用C语言表达就可以得到结果.

#8
foreverhx2007-10-17 18:54
mucao同志真负责,赞一个!
1