三维空间中的圆与三角形(二):圆与外切三角形

来源:互联网 发布:vb value属性 编辑:程序博客网 时间:2024/04/30 08:26

        圆的参数方程(字母所代表含义可参见【第六回】OCCT之Package Geom的曲线曲面参数方程解析):

P(U) = O + R*Cos(U)*XDir + R*Sin(U)*YDir
已知△ABC,求此三角形的内切圆。

        首先求圆心O。三角形的内心是角平分线的交点,可通过先求得两个角的角平分线,然后求其角点,如下图所示:


AD为∠CAB的角平分线,BE为∠ABC的角平分线,点O为AD与BE的交点,即为该三角形的内心。

        先求得边AB,BC和CA的直线参数方程:(v1,v2,v3均为单位向量)

lAB: P1 = A + t1v1;lBC: P2 = B + t2v2;lCA: P3 = C + t3v3.
角平分线的求法:可根据等边平行四边形定则进行求解。现在求∠CAB的角平线AD,在上图中,四边形AFIG为等边平行四边形,边长为单位1,AI =v1 - v3,则角平分线AH的参数方程为:

lAH: P4 = A + t4×normal(v1-v3);
同理可的角平分线BE的参数方程为:

lBE: P5 = B + t5×normal(v2-v1);
根据这两个方程可求得交点O,两直线的交点求法参见三维空间中的两直线相交。

        求得圆心O后,再求其半径。半径即为点O到任意一条边上的垂足的距离,如上图所示,点O到边AB上的垂足为J,|OJ|即为所求半径。垂足I的求法:(O-(A+t1v1)).v1 = 0,求出t1,即可得垂足I为A+t1v1

        现在需要求得内切圆的X轴参考方向和Y轴参考方向,X轴参考方向可选为v1。先求圆的法向v1×v2,则Y轴的参考方向为:normal(v1×v2×v1)。

        至此,圆所需的参数全部求得。

0 0
原创粉丝点击